Points de données du graphique Treemap et Sunburst

Parmi les autres types de graphiques PowerPoint, il existe deux types « hiérarchiques » - Treemap et Sunburst (également connu sous le nom de Graphique Sunburst, Diagramme Sunburst, Graphique Radial, Graphique Radial ou Graphique en Secteurs Multi-niveaux). Ces graphiques affichent des données hiérarchiques organisées sous forme d’arbre - des feuilles vers le haut de la branche. Les feuilles sont définies par les points de données de la série, et chaque niveau de regroupement imbriqué défini par la catégorie correspondante. Aspose.Slides pour Android via Java permet de formater les points de données du graphique Sunburst et du Treemap en Java.

Voici un graphique Sunburst, où les données dans la colonne Series1 définissent les nœuds feuilles, tandis que les autres colonnes définissent les points de données hiérarchiques :

todo:image_alt_text

Commençons par ajouter un nouveau graphique Sunburst à la présentation :

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

S’il est nécessaire de formater les points de données du graphique, nous devrions utiliser ce qui suit :

IChartDataPointLevelsManagerIChartDataPointLevel classes  et IChartDataPoint.getDataPointLevels méthode  fournissent un accès pour formater les points de données des graphiques Treemap et Sunburst.  IChartDataPointLevelsManager est utilisé pour accéder aux catégories multi-niveaux - il représente le conteneur des objets  IChartDataPointLevel. C’est essentiellement un wrapper pour  IChartCategoryLevelsManager avec les propriétés ajoutées spécifiques aux points de données.  La classe IChartDataPointLevel a deux méthodes : getFormat et  getDataLabel qui fournissent un accès aux paramètres correspondants.

Afficher la valeur du point de données

Afficher la valeur du point de données “Leaf 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

Définir l’étiquette et la couleur du point de données

Définir l’étiquette de données “Branch 1” pour afficher le nom de la série (“Series1”) au lieu du nom de la catégorie. Ensuite, définir la couleur du texte en jaune :

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

Définir la couleur de la branche du point de données

Changer la couleur de la branche “Steam 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