Данные точек дерева и диаграммы Солнце
Среди других типов диаграмм PowerPoint есть два “иерархических” типа - Древо и Солнечная диаграмма (также известная как График Солнца, Диаграмма Солнца, Радиальная диаграмма, Радиальный график или Многоуровневая круговая диаграмма). Эти диаграммы отображают иерархические данные, организованные в виде дерева - от листьев до верхушки ветви. Листья определяются точками данных серии, а каждый последующий вложенный уровень группировки определяется соответствующей категорией. Aspose.Slides для Java позволяет форматировать точки данных диаграммы Солнца и Древа в Java.
Вот диаграмма Солнца, где данные в столбце Series1 определяют листовые узлы, в то время как другие столбцы определяют иерархические точки данных:
Начнем с добавления новой диаграммы Солнца в презентацию:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 100, 100, 450, 400);
// ...
} finally {
if (pres != null) pres.dispose();
}
См. также
Если необходимо отформатировать точки данных диаграммы, нам следует использовать следующее:
IChartDataPointLevelsManager, IChartDataPointLevel классы и IChartDataPoint.getDataPointLevels метод предоставляют доступ для форматирования точек данных диаграмм Древа и Солнца. IChartDataPointLevelsManager используется для доступа к многоуровневым категориям - это контейнер для IChartDataPointLevel объектов. В основном это обертка для IChartCategoryLevelsManager с свойствами, специфическими для точек данных. IChartDataPointLevel класс имеет два метода: getFormat и getDataLabel которые предоставляют доступ к соответствующим настройкам.
Показать значение точки данных
Показать значение точки данных “Лист 4”:
IChartDataPointCollection dataPoints = chart.getChartData().getSeries().get_Item(0).getDataPoints();
dataPoints.get_Item(3).getDataPointLevels().get_Item(0).getLabel().getDataLabelFormat().setShowValue(true);
Установить метку и цвет точки данных
Установить метку данных “Ветвь 1” для отображения названия серии (“Series1”) вместо названия категории. Затем установить цвет текста на желтый:
IDataLabel 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(Color.YELLOW);
Установить цвет ветви точки данных
Изменить цвет ветви “Стебель 4”:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 100, 100, 450, 400);
IChartDataPointCollection dataPoints = chart.getChartData().getSeries().get_Item(0).getDataPoints();
IChartDataPointLevel stem4branch = dataPoints.get_Item(9).getDataPointLevels().get_Item(1);
stem4branch.getFormat().getFill().setFillType(FillType.Solid);
stem4branch.getFormat().getFill().getSolidFillColor().setColor(Color.RED);
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}