Точки данных диаграммы Treemap и Sunburst
Среди других типов диаграмм PowerPoint есть два “иерархических” типа - Treemap и Sunburst (также известные как график Sunburst, диаграмма Sunburst, радиальная диаграмма, радиальный график или многоуровневая круговая диаграмма). Эти диаграммы отображают иерархические данные, организованные в виде дерева - от листьев до верхушки ветки. Листья определяются данными точек серий, а каждый последующий уровень вложенной группировки определяется соответствующей категорией. Aspose.Slides для PHP через Java позволяет форматировать данные точек диаграммы Sunburst и Treemap.
Вот диаграмма Sunburst, где данные в столбце Series1 определяют листья, в то время как другие столбцы определяют иерархические точки данных:
Давайте начнем с добавления новой диаграммы Sunburst в презентацию:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Sunburst, 100, 100, 450, 400);
# ...
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Смотрите также
Если необходимо отформатировать данные точек диаграммы, мы должны использовать следующее:
IChartDataPointLevelsManager, IChartDataPointLevel классы и IChartDataPoint.getDataPointLevels метод предоставляют доступ к форматированию данных точек диаграмм Treemap и Sunburst. IChartDataPointLevelsManager используется для доступа к многоуровневым категориям - он представляет контейнер IChartDataPointLevel объектов. По сути, это обертка для IChartCategoryLevelsManager с добавленными свойствами, специфичными для точек данных. Класс IChartDataPointLevel имеет два метода: getFormat и getDataLabel которые предоставляют доступ к соответствующим настройкам.
Показать значение точки данных
Показать значение точки данных “Leaf 4”:
$dataPoints = $chart->getChartData()->getSeries()->get_Item(0)->getDataPoints();
$dataPoints->get_Item(3)->getDataPointLevels()->get_Item(0)->getLabel()->getDataLabelFormat()->setShowValue(true);
Установить метку и цвет точки данных
Установить метку данных “Branch 1”, чтобы показывать название серии (“Series1”) вместо названия категории. Затем установить цвет текста на желтый:
$branch1Label = $dataPoints->get_Item(0)->getDataPointLevels()->get_Item(0)->getLabel();
$branch1Label->getDataLabelFormat()->setShowCategoryName(false);
$branch1Label->getDataLabelFormat()->setShowSeriesName(true);
$branch1Label->getDataLabelFormat()->getTextFormat()->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$branch1Label->getDataLabelFormat()->getTextFormat()->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->YELLOW);
Установить цвет ветви точки данных
Изменить цвет ветви “Steam 4”:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Sunburst, 100, 100, 450, 400);
$dataPoints = $chart->getChartData()->getSeries()->get_Item(0)->getDataPoints();
$stem4branch = $dataPoints->get_Item(9)->getDataPointLevels()->get_Item(1);
$stem4branch->getFormat()->getFill()->setFillType(FillType::Solid);
$stem4branch->getFormat()->getFill()->getSolidFillColor()->setColor(java("java.awt.Color")->RED);
$pres->save("pres.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}