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 :
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();
}
Voir aussi
S’il est nécessaire de formater les points de données du graphique, nous devrions utiliser les éléments suivants :
IChartDataPointLevelsManager, IChartDataPointLevel 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);
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);
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();
}