I grafici vengono utilizzati per riassumere e rappresentare visivamente i dati all’interno delle presentazioni. Per visualizzare i dati, MS PowerPoint fornisce un’ampia gamma di tipi di grafici. Tra tutti, i tipi di grafici più comunemente usati includono grafici a torta, grafici a linee, grafici a barre, istogrammi, grafici azionari e così via. In questo articolo imparerai come creare grafici nelle presentazioni PowerPoint utilizzando Java.
- API per creare grafici in PowerPoint
- Crea un istogramma in PowerPoint utilizzando Java
- Crea un grafico sparso in PowerPoint usando Java
- Aggiungi un grafico a torta in PowerPoint utilizzando Java
- Aggiungi il grafico dell’istogramma in PowerPoint utilizzando Java
- Crea un grafico azionario in PowerPoint utilizzando Java
API Java per creare grafici in PowerPoint
Per creare diversi tipi di grafici nelle presentazioni, utilizzeremo Aspose.Slides for Java. La suddetta API ti consente di creare e manipolare presentazioni PowerPoint dall’interno delle tue applicazioni Java. Inoltre, ti consente di creare e aggiungere grafici alle presentazioni senza problemi. Puoi scaricare l’API o installarla utilizzando le seguenti configurazioni Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides</artifactId>
<version>21.7</version>
<classifier>jdk16</classifier>
</dependency>
Crea un istogramma in PowerPoint PPT utilizzando Java
Di seguito sono riportati i passaggi per creare un istogramma in una presentazione PowerPoint utilizzando Java.
- Innanzitutto, crea un’istanza della classe Presentation (specifica il percorso del file nel costruttore in caso di caricamento di una presentazione esistente).
- Ottieni il riferimento della diapositiva specificandone l’indice.
- Aggiungi un grafico con i dati predefiniti insieme al tipo ChartType.ClusteredColumn.
- Cancella le serie e le categorie predefinite.
- Accedi alla cartella di lavoro dei dati del grafico in un oggetto IChartDataWorkbook.
- Aggiungi nuove serie e categorie del grafico alla cartella di lavoro.
- Aggiungi nuovi dati del grafico alla serie del grafico.
- Infine, salva la presentazione usando il metodo Presentation.save(String, SaveFormat).
A scopo dimostrativo, nell’esempio di codice seguente viene illustrato come creare un istogramma in una presentazione di PowerPoint utilizzando Java.
// Crea una nuova presentazione
Presentation pres = new Presentation();
try {
// Aggiungi un nuovo istogramma e cancella le categorie e le serie predefinite
IChart ch = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 600, 450);
ch.getChartData().getSeries().clear();
ch.getChartData().getCategories().clear();
// Accedi ai dati del grafico
IChartDataWorkbook fact = ch.getChartData().getChartDataWorkbook();
fact.clear(0);
int defaultWorksheetIndex = 0;
// Aggiungi categorie
IChartCategory category = ch.getChartData().getCategories().add(fact.getCell(0, "c2", "A"));
category.getGroupingLevels().setGroupingItem(1, "Group1");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c3", "B"));
category = ch.getChartData().getCategories().add(fact.getCell(0, "c4", "C"));
category.getGroupingLevels().setGroupingItem(1, "Group2");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c5", "D"));
category = ch.getChartData().getCategories().add(fact.getCell(0, "c6", "E"));
category.getGroupingLevels().setGroupingItem(1, "Group3");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c7", "F"));
category = ch.getChartData().getCategories().add(fact.getCell(0, "c8", "G"));
category.getGroupingLevels().setGroupingItem(1, "Group4");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c9", "H"));
// Aggiungi serie
IChartSeries series = ch.getChartData().getSeries().add(fact.getCell(0, "D1", "Series 1"),
ChartType.ClusteredColumn);
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D2", 10));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D3", 20));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D4", 30));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D5", 40));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D6", 50));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D7", 60));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D8", 70));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D9", 80));
// Salva la presentazione con il grafico
pres.save("column-chart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Quello che segue è lo screenshot del grafico a colonne risultante.
Crea grafico sparso in PowerPoint PPT usando Java
Di seguito sono riportati i passaggi per creare un grafico sparso nella presentazione di PowerPoint utilizzando Java.
- Crea una nuova presentazione o caricane una esistente usando la classe Presentazione.
- Ottieni il riferimento della diapositiva nell’oggetto ISlide.
- Aggiungi un tipo di grafico ScatterWithSmoothLines con dati predefiniti e ottieni il suo riferimento nell’oggetto IChart.
- Accedere alla cartella di lavoro dei dati del grafico nell’oggetto IChartDataWorkbook e cancellare la serie predefinita.
- Aggiungi nuove serie ai dati del grafico.
- Accedi a ciascuna serie nell’oggetto IChartSeries e aggiungi punti dati alla serie.
- Accedere al marcatore della serie utilizzando IChartSeries.getMarker() e impostarne le proprietà.
- Salva la presentazione usando il metodo Presentation.save(String, SaveFormat).
L’esempio di codice seguente mostra come creare un grafico sparso nelle presentazioni di PowerPoint usando Java.
// Istanziare la classe Presentation che rappresenta il file PPTX
Presentation pres = new Presentation();
try {
// Accedi alla prima diapositiva
ISlide slide = pres.getSlides().get_Item(0);
// Crea il grafico predefinito
IChart chart = slide.getShapes().addChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
// Ottieni l'indice del foglio di lavoro dei dati del grafico predefinito
int defaultWorksheetIndex = 0;
// Ottieni il foglio di lavoro dei dati del grafico
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Elimina serie demo
chart.getChartData().getSeries().clear();
// Aggiungi una nuova serie
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.getType());
// Prendi la prima serie di grafici
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// Aggiungi un nuovo punto (1:3) lì.
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 1), fact.getCell(defaultWorksheetIndex, 2, 2, 3));
// Aggiungi nuovo punto (2:10)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 2), fact.getCell(defaultWorksheetIndex, 3, 2, 10));
// Modifica il tipo di serie
series.setType(ChartType.ScatterWithStraightLinesAndMarkers);
// Cambia l'indicatore della serie di grafici
series.getMarker().setSize(10);
series.getMarker().setSymbol(MarkerStyleType.Star);
// Prendi la seconda serie di grafici
series = chart.getChartData().getSeries().get_Item(1);
// Aggiungi un nuovo punto (5:2) lì.
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 5), fact.getCell(defaultWorksheetIndex, 2, 4, 2));
// Aggiungi nuovo punto (3:1)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 3), fact.getCell(defaultWorksheetIndex, 3, 4, 1));
// Aggiungi nuovo punto (2:2)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 4, 3, 2), fact.getCell(defaultWorksheetIndex, 4, 4, 2));
// Aggiungi nuovo punto (5:1)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 5, 3, 5), fact.getCell(defaultWorksheetIndex, 5, 4, 1));
// Cambia l'indicatore della serie di grafici
series.getMarker().setSize(10);
series.getMarker().setSymbol(MarkerStyleType.Circle);
// Salva la presentazione
pres.save("scatter-chart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Lo screenshot seguente mostra il grafico sparso risultante.
Crea un grafico a torta in PowerPoint PPT usando Java
Di seguito sono riportati i passaggi per creare un grafico a torta in una presentazione PowerPoint utilizzando Java.
- Crea una nuova presentazione o caricane una esistente usando la classe Presentazione.
- Ottieni il riferimento della diapositiva fornendo il suo indice.
- Aggiungi un grafico con i dati predefiniti insieme al tipo ChartType.Pie.
- Accedi ai dati del grafico in un oggetto IChartDataWorkbook.
- Cancella le serie e le categorie predefinite.
- Crea nuove serie e categorie.
- Aggiungi nuovi dati del grafico per la serie del grafico.
- Aggiungi nuovi punti per i grafici e aggiungi colori personalizzati per i settori del grafico a torta.
- Imposta le etichette per le serie e le linee guida per le etichette.
- Imposta l’angolo di rotazione per le diapositive del grafico a torta.
- Salva la presentazione usando il metodo Presentation.save(String, SaveFormat).
L’esempio di codice seguente mostra come creare un grafico a torta nella presentazione di PowerPoint usando Java.
// Istanziare la classe Presentation che rappresenta il file PPTX
Presentation pres = new Presentation();
try {
// Accedi alla prima diapositiva
ISlide slides = pres.getSlides().get_Item(0);
// Aggiungi grafico con dati predefiniti
IChart chart = slides.getShapes().addChart(ChartType.Pie, 100, 100, 400, 400);
// Imposta il titolo del grafico
chart.getChartTitle().addTextFrameForOverriding("Sample Title");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
chart.getChartTitle().setHeight(20);
chart.setTitle(true);
// Imposta la prima serie su Mostra valori
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
// Imposta l'indice del foglio dati del grafico
int defaultWorksheetIndex = 0;
// Ottieni il foglio di lavoro dei dati del grafico
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Elimina serie e categorie generate predefinite
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
// Aggiungi nuove categorie
chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "First Qtr"));
chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "2nd Qtr"));
chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "3rd Qtr"));
// Aggiungi una nuova serie
IChartSeries series = chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Series 1"), chart.getType());
// Ora popolando i dati della serie
series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
// Non funziona nella nuova versione
// Aggiunta di nuovi punti e impostazione del colore del settore
// series.IsColorVaried = true;
chart.getChartData().getSeriesGroups().get_Item(0).setColorVaried(true);
IChartDataPoint point = series.getDataPoints().get_Item(0);
point.getFormat().getFill().setFillType(FillType.Solid);
point.getFormat().getFill().getSolidFillColor().setColor(Color.CYAN);
// Imposta il confine del settore
point.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
point.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.GRAY);
point.getFormat().getLine().setWidth(3.0);
//point.getFormat().getLine().setStyle(LineStyle.ThinThick);
//point.getFormat().getLine().setDashStyle(LineDashStyle.DashDot);
IChartDataPoint point1 = series.getDataPoints().get_Item(1);
point1.getFormat().getFill().setFillType(FillType.Solid);
point1.getFormat().getFill().getSolidFillColor().setColor(Color.ORANGE);
// Imposta il confine del settore
point1.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
point1.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
point1.getFormat().getLine().setWidth(3.0);
//point1.getFormat().getLine().setStyle(LineStyle.Single);
//point1.getFormat().getLine().setDashStyle(LineDashStyle.LargeDashDot);
IChartDataPoint point2 = series.getDataPoints().get_Item(2);
point2.getFormat().getFill().setFillType(FillType.Solid);
point2.getFormat().getFill().getSolidFillColor().setColor(Color.YELLOW);
// Imposta il confine del settore
point2.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
point2.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
point2.getFormat().getLine().setWidth(2.0);
//point2.getFormat().getLine().setStyle(LineStyle.ThinThin);
//point2.getFormat().getLine().setDashStyle(LineDashStyle.LargeDashDotDot);
// Crea etichette personalizzate per ciascuna delle categorie per le nuove serie
IDataLabel lbl1 = series.getDataPoints().get_Item(0).getLabel();
// lbl.ShowCategoryName = vero;
lbl1.getDataLabelFormat().setShowValue(true);
IDataLabel lbl2 = series.getDataPoints().get_Item(1).getLabel();
lbl2.getDataLabelFormat().setShowValue(true);
lbl2.getDataLabelFormat().setShowLegendKey(true);
lbl2.getDataLabelFormat().setShowPercentage(true);
IDataLabel lbl3 = series.getDataPoints().get_Item(2).getLabel();
lbl3.getDataLabelFormat().setShowSeriesName(true);
lbl3.getDataLabelFormat().setShowPercentage(true);
// Mostra le linee guida per il grafico
series.getLabels().getDefaultDataLabelFormat().setShowLeaderLines(true);
// Imposta l'angolo di rotazione per i settori dei grafici a torta
chart.getChartData().getSeriesGroups().get_Item(0).setFirstSliceAngle(180);
// Salva la presentazione con il grafico
pres.save("pie-chart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Quello che segue è lo screenshot del grafico a torta generato.
Aggiungi il grafico dell’istogramma in PowerPoint PPTX utilizzando Java
Di seguito sono riportati i passaggi per creare un grafico a istogramma nelle presentazioni PowerPoint utilizzando Java.
- Crea una nuova presentazione o carica quella esistente usando la classe Presentazione.
- Ottieni il riferimento della diapositiva fornendo il suo indice.
- Aggiungi un grafico con i dati predefiniti insieme al tipo ChartType.Histogram.
- Accedi ai dati del grafico nell’oggetto IChartDataWorkbook.
- Cancella le serie e le categorie predefinite.
- Aggiungi nuove serie e categorie.
- Salva la presentazione usando il metodo Presentation.save(String, SaveFormat).
L’esempio di codice seguente mostra come creare un grafico a istogramma usando Java.
// Crea una nuova presentazione
Presentation pres = new Presentation();
try {
// Aggiungi un nuovo grafico dell'istogramma e cancella le sue categorie e serie
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Histogram, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
// Accedi ai dati del grafico
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
// Aggiungi serie
IChartSeries series = chart.getChartData().getSeries().add(ChartType.Histogram);
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A1", 15));
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A2", -41));
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A3", 16));
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A4", 10));
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A5", -23));
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A6", 16));
chart.getAxes().getHorizontalAxis().setAggregationType(AxisAggregationType.Automatic);
// Salva la presentazione
pres.save("histogram-chart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Quello che segue è lo screenshot del grafico dell’istogramma creato.
Crea un grafico azionario in PowerPoint utilizzando Java
Il grafico azionario è anche uno dei tipi di grafici comunemente usati nelle presentazioni PowerPoint. Di seguito sono riportati i passaggi per creare un grafico azionario in Java.
- Crea un’istanza della classe Presentazione.
- Ottieni il riferimento della diapositiva fornendo il suo indice.
- Aggiungi un grafico con i dati predefiniti insieme al tipo ChartType.OpenHighLowClose.
- Accedi ai dati del grafico nell’oggetto IChartDataWorkbook.
- Cancella le serie e le categorie predefinite.
- Aggiungi nuove serie e categorie.
- Aggiungi nuovi dati del grafico per la serie del grafico.
- Specificare il formato HiLowLines.
- Salva la presentazione usando il metodo Presentation.save(String, SaveFormat).
Nell’esempio di codice seguente viene illustrato come aggiungere un grafico azionario alla presentazione di PowerPoint usando C#.
// Crea una nuova presentazione
Presentation pres = new Presentation();
try {
// Aggiungi grafico
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);
// Cancella categorie e serie
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
// Accedi ai dati del grafico
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
// Aggiungi categorie
chart.getChartData().getCategories().add(wb.getCell(0, 1, 0, "A"));
chart.getChartData().getCategories().add(wb.getCell(0, 2, 0, "B"));
chart.getChartData().getCategories().add(wb.getCell(0, 3, 0, "C"));
chart.getChartData().getSeries().add(wb.getCell(0, 0, 1, "Open"), chart.getType());
chart.getChartData().getSeries().add(wb.getCell(0, 0, 2, "High"), chart.getType());
chart.getChartData().getSeries().add(wb.getCell(0, 0, 3, "Low"), chart.getType());
chart.getChartData().getSeries().add(wb.getCell(0, 0, 4, "Close"), chart.getType());
// Aggiungi i dati della serie
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 1, 72));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 1, 25));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 1, 38));
series = chart.getChartData().getSeries().get_Item(1);
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 2, 172));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 2, 57));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 2, 57));
series = chart.getChartData().getSeries().get_Item(2);
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 3, 12));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 3, 12));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 3, 13));
series = chart.getChartData().getSeries().get_Item(3);
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 4, 25));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 4, 38));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 4, 50));
chart.getChartData().getSeriesGroups().get_Item(0).getUpDownBars().setUpDownBars(true);
chart.getChartData().getSeriesGroups().get_Item(0).getHiLowLinesFormat().getLine().getFillFormat().setFillType(FillType.Solid);
for (IChartSeries ser : chart.getChartData().getSeries())
{
ser.getFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
}
// Salva la presentazione
pres.save("output.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Quello che segue è lo screenshot del grafico azionario creato.
Altri tipi di grafici
Oltre ai grafici sopra menzionati, ci sono anche altri tipi di grafici che puoi aggiungere alle presentazioni PowerPoint. Per saperne di più sui tipi di grafici supportati, puoi visitare questo articolo della documentazione.
Ottieni una licenza API gratuita
Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza limitazioni di valutazione.
Prova in linea
Puoi anche provare lo strumento online gratuito per la creazione di grafici nelle presentazioni PowerPoint, basato su Aspose.Slides.
Conclusione
In questo articolo, hai imparato come creare grafici nelle presentazioni PowerPoint utilizzando Java. La guida dettagliata e gli esempi di codice hanno mostrato come aggiungere istogrammi, grafici a dispersione, grafici a torta, istogrammi e grafici azionari. Puoi esplorare di più su Aspose.Slides per Java usando documentazione. In caso di domande, informaci tramite il nostro forum.