Krijg de werkelijke positie van het diagramgegevenslabel in Java-dia’s
Inleiding tot het verkrijgen van de werkelijke positie van het diagramgegevenslabel in Java-dia’s
In deze zelfstudie leert u hoe u de werkelijke positie van diagramgegevenslabels kunt ophalen met Aspose.Slides voor Java. We gaan een Java-programma maken dat een PowerPoint-presentatie met een diagram genereert, de gegevenslabels aanpast en vervolgens vormen toevoegt die de posities van deze gegevenslabels vertegenwoordigen.
Vereisten
Voordat u begint, moet u ervoor zorgen dat de Aspose.Slides voor Java-bibliotheek in uw Java-project is ingesteld.
Stap 1: Maak een PowerPoint-presentatie
Laten we eerst een nieuwe PowerPoint-presentatie maken en er een diagram aan toevoegen. We zullen de gegevenslabels van het diagram later in de zelfstudie aanpassen.
// Het pad naar de documentenmap.
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();
}
Stap 2: Gegevenslabels aanpassen
Laten we nu de gegevenslabels voor de diagramreeksen aanpassen. We zullen hun positie bepalen en de waarden tonen.
try {
// ... (vorige code)
for (IChartSeries series : chart.getChartData().getSeries()) {
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
// ... (resterende code)
} finally {
if (pres != null) pres.dispose();
}
Stap 3: Krijg de werkelijke positie van gegevenslabels
In deze stap doorlopen we de gegevenspunten van de diagramreeks en halen we de werkelijke positie op van gegevenslabels die een waarde groter dan 4 hebben. Vervolgens voegen we ellipsen toe om deze posities weer te geven.
try {
// ... (vorige code)
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());
}
}
}
// ... (resterende code)
} finally {
if (pres != null) pres.dispose();
}
Stap 4: Sla de presentatie op
Sla ten slotte de gegenereerde presentatie op in een bestand.
try {
// ... (vorige code)
pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Volledige broncode voor het verkrijgen van de werkelijke positie van het diagramgegevenslabel in Java-dia’s
// Het pad naar de documentenmap.
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());//TE DOEN
}
}
}
pres.save(dataDir + "GetActualPositionOFChartDatalabel", SaveFormat.Pptx);
}
finally
{
if (pres != null) pres.dispose();
}
Conclusie
In deze zelfstudie hebt u geleerd hoe u de werkelijke positie van diagramgegevenslabels in Java Slides kunt ophalen met behulp van Aspose.Slides voor Java. U kunt deze kennis nu gebruiken om uw PowerPoint-presentaties te verbeteren met aangepaste gegevenslabels en visuele weergaven van hun posities.
Veelgestelde vragen
Hoe kan ik gegevenslabels in een diagram aanpassen?
Om gegevenslabels in een diagram aan te passen, kunt u desetDefaultDataLabelFormat
methode op de kaartreeks en stel eigenschappen in zoals positie en zichtbaarheid. Bijvoorbeeld:
for (IChartSeries series : chart.getChartData().getSeries()) {
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
Hoe kan ik vormen toevoegen om de posities van gegevenslabels weer te geven?
U kunt de gegevenspunten van een diagramreeks doorlopen en degetActualX
, getActualY
, getActualWidth
, EngetActualHeight
methoden van het datalabel om zijn positie te bepalen. Vervolgens kunt u vormen toevoegen met behulp van deaddAutoShape
methode. Hier is een voorbeeld:
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);
Hoe kan ik de gegenereerde presentatie opslaan?
U kunt de gegenereerde presentatie opslaan met behulp van desave
methode. Geef het gewenste bestandspad op en deSaveFormat
als parameters. Bijvoorbeeld:
pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);