creare grafici in powerpoint ppt java

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 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 un istogramma in PowerPoint Java

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 sparso in PowerPoint in C#

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.

Crea grafico a torta in PowerPoint Java

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 il grafico dell'istogramma in PowerPoint in C#

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.

crea un grafico azionario in PowerPoint in C#

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.

Guarda anche