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 ou graphique à secteurs multi-niveaux). Ces graphiques affichent des données hiérarchiques organisées sous forme d’arbre - des feuilles jusqu’au sommet de la branche. Les feuilles sont définies par les points de données des séries, et chaque niveau de regroupement imbriqué suivant est défini par la catégorie correspondante. Aspose.Slides pour Java permet de formater les points de données des graphiques Sunburst et Treemap en Java.

Voici un graphique Sunburst, où les données de 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 les éléments suivants :

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 IChartDataPointLevel objets. Fondamentalement, c’est 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 “Feuille 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 la donnée “Branche 1” pour afficher le nom de la série (“Series1”) au lieu du nom de la catégorie. Ensuite, définissez la couleur du texte sur 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 “Tige 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