Puntos de Datos del Gráfico Treemap y Sunburst

Entre otros tipos de gráficos de PowerPoint, hay dos tipos “jerárquicos”: Treemap y Sunburst (también conocido como Gráfico Sunburst, Diagrama Sunburst, Gráfico Radial o Gráfico Circular Multinivel). Estos gráficos muestran datos jerárquicos organizados como un árbol - desde las hojas hasta la parte superior de la rama. Las hojas se definen por los puntos de datos de la serie, y cada nivel de agrupamiento anidado subsiguiente se define por la categoría correspondiente. Aspose.Slides para Java permite formatear puntos de datos de los gráficos Sunburst y Treemap en Java.

Aquí hay un Gráfico Sunburst, donde los datos en la columna Series1 definen los nodos hoja, mientras que otras columnas definen los puntos de datos jerárquicos:

todo:image_alt_text

Comencemos agregando un nuevo gráfico Sunburst a la presentación:

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

Si hay necesidad de formatear puntos de datos del gráfico, debemos usar lo siguiente:

IChartDataPointLevelsManagerIChartDataPointLevel clases  y IChartDataPoint.getDataPointLevels método  proporcionan acceso para formatear puntos de datos de los gráficos Treemap y Sunburst.  IChartDataPointLevelsManager se usa para acceder a categorías multinivel - representa el contenedor de  IChartDataPointLevel objetos. Básicamente es un envoltorio para  IChartCategoryLevelsManager con las propiedades añadidas específicas para puntos de datos.  La clase IChartDataPointLevel tiene dos métodos: getFormatgetDataLabel que proporcionan acceso a configuraciones correspondientes.

Mostrar Valor del Punto de Datos

Mostrar el valor del punto de datos “Hoja 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

Establecer Etiqueta y Color del Punto de Datos

Establecer la etiqueta de datos “Rama 1” para mostrar el nombre de la serie (“Series1”) en lugar del nombre de la categoría. Luego, establecer el color del texto en amarillo:

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

Establecer Color de la Rama del Punto de Datos

Cambiar el color de la rama “Tallo 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