Puntos de Datos del Gráfico de 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 de Múltiples Niveles). Estos gráficos muestran datos jerárquicos organizados como un árbol - desde las hojas hasta la parte superior de la rama. Las hojas están definidas por los puntos de datos de la serie, y cada nivel de agrupación anidado subsiguiente está definido por la categoría correspondiente. Aspose.Slides para Android a través de Java permite formatear los puntos de datos del Gráfico 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 los puntos de datos del gráfico, debemos usar lo siguiente:

IChartDataPointLevelsManager,  clases IChartDataPointLevel  y el método IChartDataPoint.getDataPointLevels  proporcionan acceso para formatear los puntos de datos de los gráficos Treemap y Sunburst.  IChartDataPointLevelsManager se utiliza para acceder a categorías de múltiples niveles - representa el contenedor de  IChartDataPointLevel objetos. Básicamente, es un envoltorio para  IChartCategoryLevelsManager con las propiedades específicas añadidas para puntos de datos.  La clase IChartDataPointLevel tiene dos métodos: getFormatgetDataLabel que proporcionan acceso a los ajustes 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 a 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 Rama del Punto de Datos

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