Точки данных диаграммы Солнечного зайца и Древовидной диаграммы

Среди других типов диаграмм PowerPoint существуют два “иерархических” типа - Древовидная диаграмма и Диаграмма солнечного зайца (также известная как график солнечного зайца, диаграмма солнечного зайца, радиальная диаграмма, радиальный график или многоуровневая круговая диаграмма). Эти диаграммы отображают иерархические данные, организованные в виде дерева - от листьев до вершины ветки. Листья определяются точками данных серии, а каждый последующий вложенный уровень группировки определяется соответствующей категорией. Aspose.Slides для Android через Java позволяет форматировать точки данных диаграммы солнечного зайца и древовидной диаграммы на Java.

Вот диаграмма солнечного зайца, где данные в столбце Series1 определяют узлы листьев, в то время как другие столбцы определяют иерархические точки данных:

todo:image_alt_text

Начнем с добавления новой диаграммы солнечного зайца в презентацию:

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);

todo:image_alt_text

Установить метку и цвет точки данных

Установить метку данных “Ветка 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);

todo:image_alt_text

Установить цвет ветки точки данных

Изменить цвет ветки “Стебель 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();
}

todo:image_alt_text