Obtenir la position réelle de l'étiquette de données du graphique dans les diapositives Java
Introduction pour obtenir la position réelle de l’étiquette des données du graphique dans les diapositives Java
Dans ce didacticiel, vous apprendrez à récupérer la position réelle des étiquettes de données de graphique à l’aide d’Aspose.Slides pour Java. Nous allons créer un programme Java qui génère une présentation PowerPoint avec un graphique, personnalise les étiquettes de données, puis ajoute des formes représentant les positions de ces étiquettes de données.
Conditions préalables
Avant de commencer, assurez-vous que la bibliothèque Aspose.Slides pour Java est configurée dans votre projet Java.
Étape 1 : Créer une présentation PowerPoint
Tout d’abord, créons une nouvelle présentation PowerPoint et ajoutons-y un graphique. Nous personnaliserons les étiquettes de données du graphique plus loin dans le didacticiel.
// Le chemin d'accès au répertoire des documents.
String dataDir = "Your Document Directory";
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
chart.validateChartLayout();
} finally {
if (pres != null) pres.dispose();
}
Étape 2 : Personnaliser les étiquettes de données
Maintenant, personnalisons les étiquettes de données pour la série de graphiques. Nous définirons leur position et afficherons les valeurs.
try {
// ... (code précédent)
for (IChartSeries series : chart.getChartData().getSeries()) {
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
// ... (code restant)
} finally {
if (pres != null) pres.dispose();
}
Étape 3 : obtenir la position réelle des étiquettes de données
Au cours de cette étape, nous allons parcourir les points de données de la série de graphiques et récupérer la position réelle des étiquettes de données qui ont une valeur supérieure à 4. Nous ajouterons ensuite des ellipses pour représenter ces positions.
try {
// ... (code précédent)
for (IChartSeries series : chart.getChartData().getSeries()) {
for (IChartDataPoint point : series.getDataPoints()) {
if (point.getValue().toDouble() > 4) {
float x = point.getLabel().getActualX();
float y = point.getLabel().getActualY();
float w = point.getLabel().getActualWidth();
float h = point.getLabel().getActualHeight();
IAutoShape shape = chart.getUserShapes().getShapes().addAutoShape(ShapeType.Ellipse, x, y, w, h);
shape.getFillFormat().setFillType(FillType.Solid);
shape.getFillFormat().getSolidFillColor().setColor(com.aspose.cells.Color.fromArgb(100, 0, 255, 0).d());
}
}
}
// ... (code restant)
} finally {
if (pres != null) pres.dispose();
}
Étape 4 : Enregistrez la présentation
Enfin, enregistrez la présentation générée dans un fichier.
try {
// ... (code précédent)
pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Code source complet pour obtenir la position réelle de l’étiquette de données du graphique dans les diapositives Java
// Le chemin d'accès au répertoire des documents.
String dataDir = "Your Document Directory";
Presentation pres = new Presentation();
try
{
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
for (IChartSeries series : chart.getChartData().getSeries())
{
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
chart.validateChartLayout();
for (IChartSeries series : chart.getChartData().getSeries())
{
for (IChartDataPoint point : series.getDataPoints())
{
if (point.getValue().toDouble() > 4)
{
float x = point.getLabel().getActualX();
float y = point.getLabel().getActualY();
float w = point.getLabel().getActualWidth();
float h = point.getLabel().getActualHeight();
IAutoShape shape = chart.getUserShapes().getShapes().addAutoShape(ShapeType.Ellipse, x, y, w, h);
shape.getFillFormat().setFillType(FillType.Solid);
shape.getFillFormat().getSolidFillColor().setColor(com.aspose.cells.Color.fromArgb(100, 0, 255, 0).d());//FAIRE
}
}
}
pres.save(dataDir + "GetActualPositionOFChartDatalabel", SaveFormat.Pptx);
}
finally
{
if (pres != null) pres.dispose();
}
Conclusion
Dans ce didacticiel, vous avez appris à récupérer la position réelle des étiquettes de données de graphique dans Java Slides à l’aide d’Aspose.Slides pour Java. Vous pouvez désormais utiliser ces connaissances pour améliorer vos présentations PowerPoint avec des étiquettes de données personnalisées et des représentations visuelles de leurs positions.
FAQ
Comment puis-je personnaliser les étiquettes de données dans un graphique ?
Pour personnaliser les étiquettes de données dans un graphique, vous pouvez utiliser l’outilsetDefaultDataLabelFormat
méthode sur la série de graphiques et définissez des propriétés telles que la position et la visibilité. Par exemple:
for (IChartSeries series : chart.getChartData().getSeries()) {
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
Comment puis-je ajouter des formes pour représenter les positions des étiquettes de données ?
Vous pouvez parcourir les points de données d’une série de graphiques et utiliser l’outilgetActualX
, getActualY
, getActualWidth
, etgetActualHeight
méthodes de l’étiquette de données pour obtenir sa position. Ensuite, vous pouvez ajouter des formes à l’aide duaddAutoShape
méthode. Voici un exemple :
float x = point.getLabel().getActualX();
float y = point.getLabel().getActualY();
float w = point.getLabel().getActualWidth();
float h = point.getLabel().getActualHeight();
IAutoShape shape = chart.getUserShapes().getShapes().addAutoShape(ShapeType.Ellipse, x, y, w, h);
Comment puis-je enregistrer la présentation générée ?
Vous pouvez enregistrer la présentation générée à l’aide dusave
méthode. Fournissez le chemin du fichier souhaité et leSaveFormat
comme paramètres. Par exemple:
pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);