Ottieni la posizione effettiva dell'etichetta dei dati del grafico nelle diapositive Java
Introduzione per ottenere la posizione effettiva dell’etichetta dei dati del grafico nelle diapositive Java
In questo tutorial imparerai come recuperare la posizione effettiva delle etichette dei dati del grafico utilizzando Aspose.Slides per Java. Creeremo un programma Java che genera una presentazione PowerPoint con un grafico, personalizza le etichette dei dati e quindi aggiunge forme che rappresentano le posizioni di queste etichette dei dati.
Prerequisiti
Prima di iniziare, assicurati di avere la libreria Aspose.Slides per Java impostata nel tuo progetto Java.
Passaggio 1: crea una presentazione PowerPoint
Innanzitutto, creiamo una nuova presentazione PowerPoint e aggiungiamo un grafico. Personalizzeremo le etichette dei dati del grafico più avanti nel tutorial.
// Il percorso della directory dei documenti.
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();
}
Passaggio 2: personalizzare le etichette dati
Ora personalizziamo le etichette dei dati per le serie di grafici. Imposteremo la loro posizione e mostreremo i valori.
try {
// ... (codice precedente)
for (IChartSeries series : chart.getChartData().getSeries()) {
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
// ... (codice rimanente)
} finally {
if (pres != null) pres.dispose();
}
Passaggio 3: ottenere la posizione effettiva delle etichette dati
In questo passaggio, ripeteremo i punti dati della serie di grafici e recupereremo la posizione effettiva delle etichette dati che hanno un valore maggiore di 4. Aggiungeremo quindi dei puntini di sospensione per rappresentare queste posizioni.
try {
// ... (codice precedente)
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());
}
}
}
// ... (codice rimanente)
} finally {
if (pres != null) pres.dispose();
}
Passaggio 4: salva la presentazione
Infine, salva la presentazione generata in un file.
try {
// ... (codice precedente)
pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Codice sorgente completo per ottenere la posizione effettiva dell’etichetta dei dati del grafico nelle diapositive Java
// Il percorso della directory dei documenti.
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());//FARE
}
}
}
pres.save(dataDir + "GetActualPositionOFChartDatalabel", SaveFormat.Pptx);
}
finally
{
if (pres != null) pres.dispose();
}
Conclusione
In questo tutorial, hai imparato come recuperare la posizione effettiva delle etichette dei dati del grafico in Java Slides utilizzando Aspose.Slides per Java. Ora puoi utilizzare questa conoscenza per migliorare le tue presentazioni PowerPoint con etichette dati personalizzate e rappresentazioni visive delle loro posizioni.
Domande frequenti
Come posso personalizzare le etichette dei dati in un grafico?
Per personalizzare le etichette dati in un grafico, puoi utilizzaresetDefaultDataLabelFormat
metodo sulla serie di grafici e impostare proprietà come posizione e visibilità. Per esempio:
for (IChartSeries series : chart.getChartData().getSeries()) {
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
Come posso aggiungere forme per rappresentare le posizioni delle etichette dati?
È possibile scorrere i punti dati di una serie di grafici e utilizzare il filegetActualX
, getActualY
, getActualWidth
, EgetActualHeight
metodi dell’etichetta dati per ottenere la sua posizione. Quindi, puoi aggiungere forme utilizzando iladdAutoShape
metodo. Ecco un esempio:
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);
Come posso salvare la presentazione generata?
È possibile salvare la presentazione generata utilizzando il filesave
metodo. Fornire il percorso del file desiderato e il fileSaveFormat
come parametri. Per esempio:
pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);