Quản lý dữ liệu series biểu đồ trong bản trình chiếu bằng PHP
Tổng quan
Biểu đồ lưu trữ dữ liệu đã vẽ của nó trong một workbook dữ liệu biểu đồ. Một ChartSeries đại diện cho một tập hợp các giá trị liên quan, và mỗi ChartDataPoint trong series tham chiếu tới một hoặc nhiều ô trong workbook. Các đối tượng ChartCategory cung cấp các nhãn hoặc giá trị nhóm được chia sẻ bởi các series. Tên series, các danh mục và giá trị điểm do đó được kết nối tới các đối tượng ChartDataCell thay vì chỉ được lưu dưới dạng văn bản hiển thị.
Đối với biểu đồ danh mục tiêu chuẩn, workbook mặc định sử dụng hàng 0 cho tên series, cột 0 cho tên danh mục, và các ô còn lại cho giá trị series. Các chỉ số worksheet, hàng và cột được truyền vào ChartDataWorkbook.getCell là chỉ số bắt đầu từ 0. Bố cục này hữu ích khi bạn tạo biểu đồ với dữ liệu mặc định, nhưng không nên giả định rằng mọi biểu đồ hiện có đều sử dụng nó. Đối với một bản trình bày đã tải, hãy kiểm tra các ô được series, danh mục và điểm dữ liệu tham chiếu trước khi thay đổi giá trị workbook.
Chart settings have three different scopes:
- Cài đặt mức series, chẳng hạn như ChartSeries.getFormat, cung cấp giao diện mặc định cho tất cả các điểm trong một series.
- Cài đặt mức điểm dữ liệu, chẳng hạn như ChartDataPoint.getFormat, ghi đè giao diện của series cho một điểm.
- Cài đặt nhóm áp dụng cho các series tương thích thuộc cùng một ChartSeriesGroup. Truy cập nhóm qua ChartSeries.getParentSeriesGroup khi bạn cần thiết lập các tùy chọn như overlap hoặc gap width.
Khi không có màu nền điểm hoặc series nào được chỉ định rõ, kiểu biểu đồ và chủ đề sẽ quyết định giao diện tự động. Khi cả định dạng series và điểm đều có, định dạng điểm sẽ được ưu tiên cho điểm đó.

Đặt Overlap cho Series Biểu đồ
ChartSeries.getOverlap báo cáo mức độ chồng lấp của các thanh hoặc cột trong biểu đồ 2D, từ -100 đến 100 phần trăm. Nó là một phép chiếu chỉ đọc của cài đặt trên nhóm series cha. Sử dụng ChartSeriesGroup.setOverlap để cập nhật mọi series tương thích trong nhóm đó. Tùy chọn này áp dụng cho các loại biểu đồ hiển thị các thanh hoặc cột được nhóm; nó không ảnh hưởng tới các nhóm series không liên quan trong biểu đồ kết hợp.
The following example sets the overlap for the group that contains the first series:
$firstSlideIndex = 0;
$firstSeriesIndex = 0;
$overlapPercent = 30;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item($firstSlideIndex);
// Biểu đồ mới chứa các series mẫu, danh mục và giá trị.
$chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 20, 20, 500, 200);
$series = $chart->getChartData()->getSeries()->get_Item($firstSeriesIndex);
$series->getParentSeriesGroup()->setOverlap($overlapPercent);
$presentation->save("series_overlap.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Kết quả:

Thay đổi màu nền Series
Sử dụng ChartSeries.getFormat để đặt màu nền mặc định cho toàn bộ một series. Nếu một điểm đã có màu nền rõ ràng, cài đặt ChartDataPoint.getFormat của nó sẽ ghi đè màu nền series cho điểm đó.
$firstSlideIndex = 0;
$firstSeriesIndex = 0;
$blueColor = java("java.awt.Color")->BLUE;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item($firstSlideIndex);
$chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 20, 20, 500, 200);
$series = $chart->getChartData()->getSeries()->get_Item($firstSeriesIndex);
$series->getFormat()->getFill()->setFillType(FillType::Solid);
$series->getFormat()->getFill()->getSolidFillColor()->setColor($blueColor);
$presentation->save("series_color.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Kết quả:

Thay đổi Tên Series
Tên series được lưu trong workbook dữ liệu biểu đồ và thường được hiển thị trong chú giải. Trong workbook mặc định được tạo cho biểu đồ cột nhóm, ô B1 nằm ở hàng 0, cột 1 và chứa tên của series đầu tiên. Các biến được đặt tên trong ví dụ dưới đây làm rõ cấu trúc đó:
$firstSlideIndex = 0;
$worksheetIndex = 0;
$seriesNameRowIndex = 0;
$firstSeriesColumnIndex = 1;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item($firstSlideIndex);
$chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 20, 20, 500, 200);
$workbook = $chart->getChartData()->getChartDataWorkbook();
$seriesNameCell = $workbook->getCell($worksheetIndex, $seriesNameRowIndex, $firstSeriesColumnIndex);
$seriesNameCell->setValue("Revenue");
$presentation->save("series_name.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Bạn cũng có thể cập nhật ô đã được ChartSeries.getName tham chiếu. Cách tiếp cận này tránh việc giả định một hàng và cột cụ thể trong biểu đồ hiện có:
$firstSlideIndex = 0;
$firstSeriesIndex = 0;
$firstNameCellIndex = 0;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item($firstSlideIndex);
$chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 20, 20, 500, 200);
$series = $chart->getChartData()->getSeries()->get_Item($firstSeriesIndex);
$seriesNameCell = $series->getName()->getAsCells()->get_Item($firstNameCellIndex);
$seriesNameCell->setValue("Revenue");
$presentation->save("series_name.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Kết quả:

Tạo Series với Tên từ Nhiều Ô
Tên series tổng hợp hữu ích khi tên sản phẩm và kỳ báo cáo được lưu trong các ô workbook riêng biệt. Ví dụ, bạn có thể kết hợp Product A ở B1 và 2026 ở C1 thành một tên series duy nhất trong khi vẫn giữ cả hai phần liên kết tới các ô nguồn của chúng.
Sử dụng ChartDataWorkbook::getCellCollection để lấy dải tên, sau đó truyền dải này vào ChartSeriesCollection::add. Tham số skipHiddenCells kiểm soát việc có bao gồm các ô ẩn hay không: true loại bỏ chúng, trong khi false bao gồm chúng. Ví dụ này sử dụng false để bao gồm mọi ô trong dải tên.
Ví dụ dưới đây tạo một bản trình bày với một series và hai điểm dữ liệu. Các ô B1:C1 cung cấp chỉ tên series; A2:A3 cung cấp các nhãn danh mục, và B2:B3 cung cấp các giá trị số.
use aspose\slides\ChartType;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 50, 50, 620, 180);
$chart->getChartData()->getSeries()->clear();
$chart->getChartData()->getCategories()->clear();
$chart->setLegend(true);
$workbook = $chart->getChartData()->getChartDataWorkbook();
$workbook->clear(0);
// Hai ô này cung cấp tên series.
$workbook->getCell(0, 0, 1, "Product A");
$workbook->getCell(0, 0, 2, "2026");
$nameCells = $workbook->getCellCollection('Sheet1!$B$1:$C$1', false);
$series = $chart->getChartData()->getSeries()->add($nameCells, ChartType::ClusteredColumn);
// Các ô riêng biệt cung cấp các danh mục và điểm dữ liệu số.
$northCategory = $workbook->getCell(0, 1, 0, "North");
$southCategory = $workbook->getCell(0, 2, 0, "South");
$chart->getChartData()->getCategories()->add($northCategory);
$chart->getChartData()->getCategories()->add($southCategory);
$northValue = $workbook->getCell(0, 1, 1, 120);
$southValue = $workbook->getCell(0, 2, 1, 150);
$series->getDataPoints()->addDataPointForBarSeries($northValue);
$series->getDataPoints()->addDataPointForBarSeries($southValue);
$presentation->save("composite_series_name.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Kết quả, tên series là Product A 2026, có một dấu cách giữa hai giá trị ô. Chú giải hiển thị điều này như một mục cho cả hai cột. Hình ảnh dưới đây minh họa kết quả:

Lấy Màu Nền Series Tự Động
ChartSeries.getAutomaticSeriesColor trả về màu được tính dựa trên chỉ số series và kiểu biểu đồ. Đây là màu được sử dụng khi màu nền series không được định nghĩa rõ ràng. Gọi phương thức này chỉ đọc màu đã tính; nó không gán màu mới.
The following example prints the automatic color of each default series:
$firstSlideIndex = 0;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item($firstSlideIndex);
$chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 20, 20, 500, 200);
$seriesCount = java_values($chart->getChartData()->getSeries()->size());
for ($seriesIndex = 0; $seriesIndex < $seriesCount; $seriesIndex++) {
$series = $chart->getChartData()->getSeries()->get_Item($seriesIndex);
$automaticColor = $series->getAutomaticSeriesColor();
$red = java_values($automaticColor->getRed());
$green = java_values($automaticColor->getGreen());
$blue = java_values($automaticColor->getBlue());
echo "Series " . $seriesIndex . ": java.awt.Color[r=" . $red . ",g=" . $green . ",b=" . $blue . "]" . PHP_EOL;
}
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Example output for the default chart style:
Series 0: java.awt.Color[r=79,g=129,b=189]
Series 1: java.awt.Color[r=192,g=80,b=77]
Series 2: java.awt.Color[r=155,g=187,b=89]
Màu chính xác phụ thuộc vào kiểu biểu đồ và chủ đề.
Đặt Màu Invert cho Series Biểu đồ
Đối với series thanh, cột và bong bóng, ChartSeries.setInvertIfNegative có thể hiển thị các giá trị âm với màu nền khác. Đặt màu nền series thường thành màu đặc, bật chế độ đảo, và chỉ định màu giá trị âm thông qua ChartSeries.getInvertedSolidFillColor. Các số âm vẫn không thay đổi trong workbook; chỉ màu hiển thị của chúng thay đổi.
The following example replaces the default chart data with one series. Worksheet row 0 contains the series name, column 0 contains category names, and column 1 contains the values:
$firstSlideIndex = 0;
$worksheetIndex = 0;
$headerRowIndex = 0;
$categoryColumnIndex = 0;
$firstSeriesColumnIndex = 1;
$firstDataRowIndex = 1;
$categoryNames = ["Category 1", "Category 2", "Category 3"];
$seriesValues = [-20, 50, -30];
$redColor = java("java.awt.Color")->RED;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item($firstSlideIndex);
$chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 20, 20, 500, 200);
$chartData = $chart->getChartData();
$workbook = $chartData->getChartDataWorkbook();
$chartData->getSeries()->clear();
$chartData->getCategories()->clear();
$seriesNameCell = $workbook->getCell($worksheetIndex, $headerRowIndex, $firstSeriesColumnIndex, "Series 1");
$chartType = $chart->getType();
$series = $chartData->getSeries()->add($seriesNameCell, $chartType);
$categoryCount = count($categoryNames);
for ($categoryIndex = 0; $categoryIndex < $categoryCount; $categoryIndex++) {
$dataRowIndex = $firstDataRowIndex + $categoryIndex;
$categoryName = $categoryNames[$categoryIndex];
$seriesValue = $seriesValues[$categoryIndex];
$categoryCell = $workbook->getCell($worksheetIndex, $dataRowIndex, $categoryColumnIndex, $categoryName);
$chartData->getCategories()->add($categoryCell);
$valueCell = $workbook->getCell($worksheetIndex, $dataRowIndex, $firstSeriesColumnIndex, $seriesValue);
$series->getDataPoints()->addDataPointForBarSeries($valueCell);
}
$automaticSeriesColor = $series->getAutomaticSeriesColor();
$series->getFormat()->getFill()->setFillType(FillType::Solid);
$series->getFormat()->getFill()->getSolidFillColor()->setColor($automaticSeriesColor);
$series->setInvertIfNegative(true);
$series->getInvertedSolidFillColor()->setColor($redColor);
$presentation->save("inverted_solid_fill_color.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Kết quả:

Bạn có thể bật inversion cho một điểm thông qua ChartDataPoint.setInvertIfNegative. Trong ví dụ sau, inversion bị tắt cho series và chỉ bật cho điểm đã chọn. Điểm cũng được gán một giá trị âm để hiệu ứng hiển thị:
$firstSlideIndex = 0;
$firstSeriesIndex = 0;
$targetDataPointIndex = 2;
$negativeValue = -30;
$redColor = java("java.awt.Color")->RED;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item($firstSlideIndex);
$chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 20, 20, 500, 200);
$series = $chart->getChartData()->getSeries()->get_Item($firstSeriesIndex);
$automaticSeriesColor = $series->getAutomaticSeriesColor();
$series->getFormat()->getFill()->setFillType(FillType::Solid);
$series->getFormat()->getFill()->getSolidFillColor()->setColor($automaticSeriesColor);
$series->getInvertedSolidFillColor()->setColor($redColor);
$series->setInvertIfNegative(false);
$dataPoint = $series->getDataPoints()->get_Item($targetDataPointIndex);
$dataPoint->getValue()->getAsCell()->setValue($negativeValue);
$dataPoint->setInvertIfNegative(true);
$presentation->save("data_point_invert_color_if_negative.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Xóa Giá Trị Điểm Dữ Liệu Cụ Thể
Để khiến một điểm trống mà không xóa các điểm khác, đặt ô workbook hỗ trợ của nó thành null. Đối với biểu đồ cột, giá trị được vẽ có sẵn qua ChartDataPoint.getValue. Điểm dữ liệu vẫn giữ vị trí danh mục giống nhau, nhưng biểu đồ sẽ coi giá trị của nó là trống theo cài đặt giá trị trống của biểu đồ.
The following example clears only the second point in the first series:
$firstSlideIndex = 0;
$firstSeriesIndex = 0;
$targetDataPointIndex = 1;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item($firstSlideIndex);
$chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 20, 20, 500, 200);
$series = $chart->getChartData()->getSeries()->get_Item($firstSeriesIndex);
$dataPoint = $series->getDataPoints()->get_Item($targetDataPointIndex);
$dataPoint->getValue()->getAsCell()->setValue(null);
$presentation->save("clear_data_point_value.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Biểu đồ scatter sử dụng các ô X và Y riêng biệt, và biểu đồ bubble cũng sử dụng một ô kích thước. Chỉ xóa ô đại diện cho giá trị bạn muốn loại bỏ. Không gọi ChartDataPointCollection.clear khi bạn muốn giữ các điểm khác, vì phương pháp đó sẽ xóa mọi điểm dữ liệu khỏi bộ sưu tập.
Kiểm soát Hiển thị Các Ô Trống
Các ô ẩn chứa giá trị là một trường hợp riêng so với các ô trống. Để bao gồm hoặc loại bỏ dữ liệu từ các hàng và cột ẩn, xem Bao gồm dữ liệu từ các hàng và cột ẩn.
Ô workbook trống đại diện cho dữ liệu thiếu; ô chứa 0 đại diện cho một giá trị số đã biết. Gọi ChartDataCell::setValue với null để làm ô trống. Số không vẫn là không bất kể cài đặt ô trống là gì.
Sử dụng Chart::setDisplayBlanksAs để chọn cách biểu đồ hiển thị các ô trống. Cài đặt này áp dụng cho toàn bộ biểu đồ. Nó thay đổi cách các khoảng trống được vẽ, mà không điền ô workbook trống bằng số không hoặc giá trị nội suy.
Ví dụ tự chứa dưới đây tạo một biểu đồ đường với một series, xóa giá trị cho Ngày 3, và lưu cùng một biểu đồ với mỗi chế độ. Không cần tệp đầu vào. ChartDataWorkbook sử dụng worksheet 0, cột 0 cho nhãn danh mục, và cột 1 cho các giá trị; hàng 0 chứa tên series. Dữ liệu cuối cùng là 10, 20, empty, 30, 40.
use aspose\slides\ChartType;
use aspose\slides\DisplayBlanksAsType;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$chart = $slide->getShapes()->addChart(ChartType::LineWithMarkers, 40, 40, 640, 400);
$chartData = $chart->getChartData();
$workbook = $chartData->getChartDataWorkbook();
$chartData->getSeries()->clear();
$chartData->getCategories()->clear();
$seriesNameCell = $workbook->getCell(0, 0, 1, "Measurements");
$series = $chartData->getSeries()->add($seriesNameCell, $chart->getType());
$values = [10, 20, 25, 30, 40];
for ($i = 0; $i < count($values); $i++) {
$categoryCell = $workbook->getCell(0, $i + 1, 0, "Day " . ($i + 1));
$chartData->getCategories()->add($categoryCell);
$valueCell = $workbook->getCell(0, $i + 1, 1, $values[$i]);
$series->getDataPoints()->addDataPointForLineSeries($valueCell);
}
// Để ngày 3 thực sự trống, trong khi vẫn giữ lại danh mục và điểm dữ liệu của nó.
$workbook->getCell(0, 3, 1)->setValue(null);
$modes = [DisplayBlanksAsType::Gap, DisplayBlanksAsType::Zero, DisplayBlanksAsType::Span];
$modeNames = ["Gap", "Zero", "Span"];
for ($i = 0; $i < count($modes); $i++) {
$chart->setDisplayBlanksAs($modes[$i]);
$presentation->save("empty_cells_" . $modeNames[$i] . ".pptx", SaveFormat::Pptx);
}
} finally {
$presentation->dispose();
}
Mỗi tệp đầu ra lưu chế độ được chỉ định trước khi lưu: empty_cells_Gap.pptx, empty_cells_Zero.pptx, và empty_cells_Span.pptx. Để lưu chỉ một phiên bản, đặt chế độ mong muốn và lưu bản trình bày một lần thay vì lặp lại qua các chế độ.
So sánh dưới đây hiển thị cùng một dữ liệu trong cả ba tệp. Ngày 3 là trống trong workbook trong mọi trường hợp:

Hiệu ứng nhìn thấy phụ thuộc vào loại biểu đồ. Biểu đồ đường làm cho ba chế độ dễ so sánh. Các biểu đồ thanh và cột không có đường nối qua danh mục thiếu, vì vậy Span không thể tạo đoạn nối như trên; một cột thiếu và một cột có chiều cao bằng không cũng có thể trông giống nhau. Tương tự, biểu đồ scatter chỉ có các dấu đánh dấu không có đường nối. Đừng kỳ vọng ba kết quả riêng biệt cho mọi loại biểu đồ; kiểm tra đầu ra cho loại bạn sử dụng.
Đặt Độ rộng Khoảng cách Series
Độ rộng khoảng cách là không gian giữa các cụm thanh hoặc cột liền kề, được biểu thị dưới dạng phần trăm của độ rộng thanh hoặc cột. Giống như overlap, nó thuộc về nhóm series cha chứ không phải một series riêng lẻ. Gọi ChartSeriesGroup.setGapWidth một lần cho nhóm. Giá trị lớn hơn tạo ra nhiều không gian hơn giữa các cụm; giá trị nhỏ hơn làm chúng dày đặc hơn.
The following example changes the gap width and saves only the final presentation:
$firstSlideIndex = 0;
$firstSeriesIndex = 0;
$gapWidthPercent = 30;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item($firstSlideIndex);
$chart = $slide->getShapes()->addChart(ChartType::StackedColumn, 20, 20, 500, 200);
$series = $chart->getChartData()->getSeries()->get_Item($firstSeriesIndex);
$series->getParentSeriesGroup()->setGapWidth($gapWidthPercent);
$presentation->save("gap_width_30.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Kết quả:

Câu hỏi thường gặp
Các loại biểu đồ nào hỗ trợ series dữ liệu?
Tất cả các loại biểu đồ được biểu diễn bởi liệt kê ChartType đều sử dụng dữ liệu biểu đồ, nhưng các series của chúng không đều có cùng cấu trúc giá trị hoặc cài đặt. Ví dụ, biểu đồ danh mục sử dụng danh mục và giá trị, biểu đồ scatter sử dụng giá trị X và Y, và biểu đồ bubble thêm kích thước bong bóng. Sử dụng phương pháp tạo điểm dữ liệu phù hợp với loại series. Các tùy chọn như overlap và gap width chỉ áp dụng cho các nhóm thanh hoặc cột tương thích.
Nhóm series biểu đồ là gì?
Một ChartSeriesGroup chứa các series tương thích chia sẻ các cài đặt vẽ ở mức nhóm. Một biểu đồ kết hợp có thể chứa hơn một nhóm, vì vậy việc thay đổi nhóm thông qua một series không nhất thiết làm thay đổi mọi series trong biểu đồ.
Biểu đồ mới tạo có chứa dữ liệu mặc định không?
Có. Mặc định, ShapeCollection.addChart tạo các series, danh mục và giá trị mẫu. Bạn có thể chỉnh sửa các ô đó hoặc xóa cả bộ sưu tập series và danh mục trước khi thêm một tập dữ liệu hoàn toàn tùy chỉnh. Một overload cũng có thể tạo biểu đồ mà không có dữ liệu mặc định.
Các đối tượng biểu đồ được kết nối với các ô workbook như thế nào?
Tên series, nhãn danh mục và giá trị điểm dữ liệu tham chiếu đến các ô trong một ChartDataWorkbook. Thay đổi một ô được tham chiếu sẽ cập nhật phần tử biểu đồ tương ứng. Khi bạn xây dựng dữ liệu tùy chỉnh, giữ cho các hàng danh mục và các hàng giá trị series được căn chỉnh sao cho mỗi điểm được vẽ dưới danh mục mong muốn.
Làm thế nào để xóa một điểm thay vì toàn bộ series?
Đặt ô giá trị tương ứng thành null để giữ vị trí danh mục của điểm dưới dạng điểm trống. Sử dụng ChartDataPointCollection.clear chỉ khi bạn muốn xóa tất cả các điểm khỏi series đó. Nếu bạn cũng xóa các danh mục, hãy cập nhật mọi series để các giá trị của chúng vẫn được căn chỉnh với bộ sưu tập danh mục.
Các điểm trống được hiển thị như thế nào?
Kết quả phụ thuộc vào loại biểu đồ và giá trị được cấu hình qua Chart.setDisplayBlanksAs. Các biểu đồ hỗ trợ có thể hiển thị khoảng trống dưới dạng khoảng trống, dưới dạng giá trị 0, hoặc bằng cách nối các điểm lân cận. Chọn cài đặt phù hợp với ý nghĩa của dữ liệu thiếu trong bản trình bày của bạn. Xem Kiểm soát Hiển thị Các Ô Trống để có ví dụ hoàn chỉnh và so sánh hình ảnh.
Các giá trị âm được định dạng như thế nào?
Đối với các series thanh, cột và bong bóng hợp lý, gọi ChartSeries.setInvertIfNegative và đặt màu trả về bởi ChartSeries.getInvertedSolidFillColor. Bạn có thể ghi đè hành vi cho một điểm riêng biệt bằng ChartDataPoint.setInvertIfNegative. Các phương thức này ảnh hưởng đến định dạng, không phải giá trị số đã lưu.
Định dạng nào được ưu tiên khi cả series và điểm đều được định dạng?
Định dạng điểm dữ liệu rõ ràng sẽ được ưu tiên cho điểm đó. Các điểm khác tiếp tục sử dụng định dạng series rõ ràng hoặc, khi định dạng series không được định nghĩa, kiểu và chủ đề biểu đồ tự động. Các cài đặt nhóm như overlap và gap width điều khiển bố cục và không phải là các ghi đè định dạng mức điểm.
Có giới hạn về số lượng series mà một biểu đồ có thể chứa không?
Aspose.Slides không đặt ra một giới hạn cố định cho số series. Trong thực tế, các ràng buộc của tệp trình chiếu, bộ nhớ khả dụng, thời gian render và độ dễ đọc của biểu đồ quyết định giới hạn hữu ích.
Tôi nên thay đổi gì khi các cột quá gần nhau hoặc quá xa?
Gọi ChartSeriesGroup.setGapWidth trên nhóm series cha thích hợp. Tăng giá trị để mở rộng không gian giữa các cụm, hoặc giảm để đưa các cụm lại gần nhau hơn.