I grafici vengono utilizzati per riassumere e rappresentare visivamente i dati all’interno delle presentazioni PowerPoint. Pertanto, PowerPoint fornisce un’ampia gamma di tipi di grafici per visualizzare i dati. 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 questi grafici nelle presentazioni PowerPoint usando C#.
- API C# per creare grafici in PowerPoint
- Crea un istogramma in PowerPoint usando C#
- Crea grafico a dispersione in PowerPoint usando C#
- Aggiungi un grafico a torta in PowerPoint usando C#
- Aggiungi il grafico dell’istogramma in PowerPoint usando C#
- Crea un grafico azionario in PowerPoint usando C#
- Ottieni la licenza API gratuita
API C# per creare grafici in PowerPoint
Aspose.Slides for .NET è una libreria di classi C# che consente di creare e manipolare presentazioni PowerPoint dall’interno di applicazioni .NET. Inoltre, l’API ti consente di creare e aggiungere grafici alle presentazioni senza problemi. Aspose.Slides per .NET può essere scaricato come DLL o installato tramite NuGet.
PM> Install-Package Aspose.Slides
Crea un istogramma in PowerPoint PPT usando C#
In questa sezione imparerai come creare un istogramma e aggiungere categorie e serie per popolare quel grafico. Di seguito sono riportati i passaggi per eseguire questa operazione.
- Innanzitutto, crea un’istanza della classe Presentation.
- Ottieni il riferimento della diapositiva nell’oggetto ISlide.
- Aggiungi un grafico ClusteredColumn con i dati predefiniti e ottieni il suo riferimento nell’oggetto IChart.
- Impostare il titolo del grafico utilizzando il metodo IChart.ChartTitle.AddTextFrameForOverriding(String) e impostarne le proprietà.
- Accedi alla cartella di lavoro dei dati del grafico nell’oggetto IChartDataWorkbook.
- Cancella tutte le serie e le categorie predefinite dai dati del grafico utilizzando rispettivamente i metodi IChart.ChartData.Series.Clear() e IChart.ChartData.Categories.Clear().
- Aggiungi nuove serie e categorie.
- Accedi a ciascuna serie di grafici nell’oggetto IChartSeries e aggiungi punti dati ad esso.
- Aggiungi il colore di riempimento per le serie di grafici e imposta le etichette.
- 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 nella presentazione di PowerPoint usando C#.
// Istanziare la classe Presentation che rappresenta il file PPTX
Presentation pres = new Presentation();
// Accedi alla prima diapositiva
ISlide sld = pres.Slides[0];
// Aggiungi grafico con dati predefiniti
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
// Titolo della tabella delle impostazioni
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;
// Imposta la prima serie su Mostra valori
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;
// Impostazione dell'indice del foglio dati grafico
int defaultWorksheetIndex = 0;
// Ottenere il foglio di lavoro dei dati del grafico
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Elimina serie e categorie generate di default
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;
// Aggiunta di nuove serie
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type);
// Aggiunta di nuove categorie
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
// Prendi la prima serie di grafici
IChartSeries series = chart.ChartData.Series[0];
// Ora popolando i dati della serie
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));
// Impostazione del colore di riempimento per le serie
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = System.Drawing.Color.Blue;
// Prendi la seconda serie di grafici
series = chart.ChartData.Series[1];
// Ora popolando i dati della serie
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60));
// Impostazione del colore di riempimento per le serie
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Orange;
// La prima etichetta mostrerà il nome della categoria
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;
lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;
// Mostra il valore per la terza etichetta
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
// Salva la presentazione con il grafico
pres.Save("column-chart.pptx", SaveFormat.Pptx);
Quello che segue è lo screenshot del grafico a colonne risultante.
Crea grafico a dispersione in PowerPoint PPT usando C#
Di seguito sono riportati i passaggi per creare un grafico a dispersione nella presentazione di PowerPoint usando C#.
- Crea una nuova presentazione usando la classe Presentazione.
- Ottieni il riferimento delle diapositive 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.
- Impostare l’indicatore per la serie utilizzando la proprietà IChartSeries.Marker.
- Salva la presentazione usando il metodo Presentation.Save(String, SaveFormat).
Nell’esempio di codice seguente viene illustrato come creare un grafico a dispersione nelle presentazioni di PowerPoint usando C#.
// Istanziare la classe Presentation che rappresenta il file PPTX
Presentation pres = new Presentation();
// Accedi alla prima diapositiva
ISlide sld = pres.Slides[0];
// Aggiungi grafico con dati predefiniti
IChart chart = sld.Shapes.AddChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
// Ottenere l'indice del foglio di lavoro dei dati del grafico predefinito
int defaultWorksheetIndex = 0;
// Ottenere il foglio di lavoro dei dati del grafico
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Elimina serie demo
chart.ChartData.Series.Clear();
// Aggiungi una nuova serie
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.Type);
// Prendi la prima serie di grafici
IChartSeries series = chart.ChartData.Series[0];
// Aggiungi un nuovo punto (1:3) lì.
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 1), fact.GetCell(defaultWorksheetIndex, 2, 2, 3));
// Aggiungi nuovo punto (2:10)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 2), fact.GetCell(defaultWorksheetIndex, 3, 2, 10));
// Modifica il tipo di serie
series.Type = ChartType.ScatterWithStraightLinesAndMarkers;
// Modifica dell'indicatore della serie di grafici
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Star;
// Prendi la seconda serie di grafici
series = chart.ChartData.Series[1];
// Aggiungi un nuovo punto (5:2) lì.
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 3, 5), fact.GetCell(defaultWorksheetIndex, 2, 4, 2));
// Aggiungi nuovo punto (3:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 3, 3), fact.GetCell(defaultWorksheetIndex, 3, 4, 1));
// Aggiungi nuovo punto (2:2)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 4, 3, 2), fact.GetCell(defaultWorksheetIndex, 4, 4, 2));
// Aggiungi nuovo punto (5:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 5, 3, 5), fact.GetCell(defaultWorksheetIndex, 5, 4, 1));
// Modifica dell'indicatore della serie di grafici
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Circle;
// Salva la presentazione con il grafico
pres.Save("scattered-chart.pptx", SaveFormat.Pptx);
Lo screenshot seguente mostra il grafico a dispersione risultante.
Crea un grafico a torta in PowerPoint PPT usando C#
Di seguito sono riportati i passaggi per creare un grafico a torta in una presentazione di PowerPoint usando C#.
- Crea una nuova presentazione usando la classe Presentazione.
- Ottieni il riferimento delle diapositive nell’oggetto ISlide.
- Aggiungi un tipo di grafico a torta con dati predefiniti e ottieni il suo riferimento nell’oggetto IChart.
- Impostare il titolo del grafico utilizzando il metodo IChart.ChartTitle.AddTextFrameForOverriding(String) e impostarne le proprietà.
- Impostare la visibilità dei valori.
- Cancella le serie e le categorie predefinite utilizzando rispettivamente i metodi IChart.ChartData.Series.Clear() e IChart.ChartData.Categories.Clear().
- Accedere alla cartella di lavoro dei dati del grafico nell’oggetto IChartDataWorkbook.
- Aggiungi nuove categorie ai dati del grafico nella raccolta IChart.ChartData.Categories.
- Aggiungi nuove serie ai dati del grafico nella raccolta IChart.ChartData.Series.
- Ottieni ciascuna serie nell’oggetto IChartSeries e aggiungi punti dati alla serie.
- Accedi a ciascun punto dati nell’oggetto IChartDataPoint e impostane la formattazione.
- Accedi alle etichette dei dati nei punti dati utilizzando l’oggetto IDataLabel e imposta la loro formattazione.
- Imposta le linee guida e gli angoli di rotazione.
- Salva la presentazione usando il metodo Presentation.Save(String, SaveFormat).
Nell’esempio di codice seguente viene illustrato come creare un grafico a torta in una presentazione di PowerPoint usando C#.
// Istanziare la classe Presentation che rappresenta il file PPTX
Presentation presentation = new Presentation();
// Accedi alla prima diapositiva
ISlide slides = presentation.Slides[0];
// Aggiungi grafico con dati predefiniti
IChart chart = slides.Shapes.AddChart(ChartType.Pie, 100, 100, 400, 400);
// Titolo della tabella delle impostazioni
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;
// Imposta la prima serie su Mostra valori
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;
// Impostazione dell'indice del foglio dati grafico
int defaultWorksheetIndex = 0;
// Ottenere il foglio di lavoro dei dati del grafico
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Elimina serie e categorie generate predefinite
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
// Aggiunta di nuove categorie
chart.ChartData.Categories.Add(fact.GetCell(0, 1, 0, "First Qtr"));
chart.ChartData.Categories.Add(fact.GetCell(0, 2, 0, "2nd Qtr"));
chart.ChartData.Categories.Add(fact.GetCell(0, 3, 0, "3rd Qtr"));
// Aggiunta di nuove serie
IChartSeries series = chart.ChartData.Series.Add(fact.GetCell(0, 0, 1, "Series 1"), chart.Type);
// Ora popolando i dati della serie
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.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.ChartData.SeriesGroups[0].IsColorVaried = true;
IChartDataPoint point = series.DataPoints[0];
point.Format.Fill.FillType = FillType.Solid;
point.Format.Fill.SolidFillColor.Color = Color.Orange;
// Impostazione del confine del settore
point.Format.Line.FillFormat.FillType = FillType.Solid;
point.Format.Line.FillFormat.SolidFillColor.Color = Color.Gray;
point.Format.Line.Width = 3.0;
//point.Format.Line.Style = LineStyle.ThinThick;
//point.Format.Line.DashStyle = LineDashStyle.DashDot;
IChartDataPoint point1 = series.DataPoints[1];
point1.Format.Fill.FillType = FillType.Solid;
point1.Format.Fill.SolidFillColor.Color = Color.BlueViolet;
// Impostazione del confine del settore
point1.Format.Line.FillFormat.FillType = FillType.Solid;
point1.Format.Line.FillFormat.SolidFillColor.Color = Color.Blue;
point1.Format.Line.Width = 3.0;
//point1.Format.Line.Style = LineStyle.Single;
//point1.Format.Line.DashStyle = LineDashStyle.LargeDashDot;
IChartDataPoint point2 = series.DataPoints[2];
point2.Format.Fill.FillType = FillType.Solid;
point2.Format.Fill.SolidFillColor.Color = Color.YellowGreen;
// Impostazione del confine del settore
point2.Format.Line.FillFormat.FillType = FillType.Solid;
point2.Format.Line.FillFormat.SolidFillColor.Color = Color.Red;
point2.Format.Line.Width = 2.0;
//point2.Format.Line.Style = LineStyle.ThinThin;
//point2.Format.Line.DashStyle = LineDashStyle.LargeDashDotDot;
// Crea etichette personalizzate per ciascuna delle categorie per le nuove serie
IDataLabel lbl1 = series.DataPoints[0].Label;
// lbl.ShowCategoryName = vero;
lbl1.DataLabelFormat.ShowValue = true;
IDataLabel lbl2 = series.DataPoints[1].Label;
lbl2.DataLabelFormat.ShowValue = true;
lbl2.DataLabelFormat.ShowLegendKey = true;
lbl2.DataLabelFormat.ShowPercentage = true;
IDataLabel lbl3 = series.DataPoints[2].Label;
lbl3.DataLabelFormat.ShowSeriesName = true;
lbl3.DataLabelFormat.ShowPercentage = true;
// Visualizzazione delle linee guida per il grafico
//series.Labels.DefaultDataLabelFormat.ShowLeaderLines = true;
// Impostazione dell'angolo di rotazione per i settori dei grafici a torta
chart.ChartData.SeriesGroups[0].FirstSliceAngle = 180;
// Salva la presentazione con il grafico
presentation.Save("pie-chart.pptx", SaveFormat.Pptx);
Quello che segue è lo screenshot del grafico a torta generato.
Aggiungi il grafico dell’istogramma in PowerPoint PPTX usando C#
Di seguito sono riportati i passaggi per creare un grafico a istogramma nelle presentazioni di PowerPoint usando Aspose.Slides per .NET.
- Crea un’istanza della classe Presentazione.
- Ottieni il riferimento di una diapositiva nell’oggetto ISlide in base al suo indice.
- Aggiungi un grafico a istogramma con dati predefiniti.
- Cancella le serie e le categorie predefinite.
- Accedere alla cartella di lavoro dei dati del grafico nell’oggetto IChartDataWorkbook.
- Aggiungi una nuova serie e ottieni il suo riferimento nell’oggetto IChartSeries.
- Aggiungi punti dati alla serie.
- Imposta il tipo di aggregazione dell’asse del grafico.
- Salva la presentazione usando il metodo Presentation.Save(String, SaveFormat).
Nell’esempio di codice seguente viene illustrato come creare un grafico a istogramma usando C#.
// Carica o crea una presentazione
using (Presentation pres = new Presentation())
{
// Aggiungi il grafico dell'istogramma
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Histogram, 50, 50, 500, 400);
chart.ChartData.Categories.Clear();
chart.ChartData.Series.Clear();
// Accedi alla cartella di lavoro dei dati del grafico
IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;
// Cancella cartella di lavoro
wb.Clear(0);
// Aggiungi serie di grafici
IChartSeries series = chart.ChartData.Series.Add(ChartType.Histogram);
series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A1", 15));
series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A2", -41));
series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A3", 16));
series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A4", 10));
series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A5", -23));
series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A6", 16));
chart.Axes.HorizontalAxis.AggregationType = AxisAggregationType.Automatic;
// Salva presentazione
pres.Save("histogram-chart.pptx", SaveFormat.Pptx);
}
Quello che segue è lo screenshot del grafico dell’istogramma creato.
Crea un grafico azionario in PowerPoint usando C#
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.
- Crea una nuova presentazione PowerPoint utilizzando la classe Presentazione.
- Ottieni il riferimento della diapositiva in un oggetto ISlide usando l’indice della diapositiva.
- Aggiungi il grafico OpenHighLowClose alla diapositiva e ottieni il suo riferimento nell’oggetto IChart.
- Cancella le serie e le categorie predefinite.
- Accedi ai dati del grafico nell’oggetto IChartDataWorkbook.
- Aggiungi nuove serie e categorie al grafico.
- Accedi a ciascuna serie di grafici e aggiungi punti dati.
- 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#.
// Carica o crea una presentazione
using (Presentation pres = new Presentation())
{
// Aggiungi grafico
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);
// Cancella categorie e serie
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
// Accedi alla cartella di lavoro dei dati del grafico
IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;
// Aggiungi categorie
chart.ChartData.Categories.Add(wb.GetCell(0, 1, 0, "A"));
chart.ChartData.Categories.Add(wb.GetCell(0, 2, 0, "B"));
chart.ChartData.Categories.Add(wb.GetCell(0, 3, 0, "C"));
// Aggiungi serie
chart.ChartData.Series.Add(wb.GetCell(0, 0, 1, "Open"), chart.Type);
chart.ChartData.Series.Add(wb.GetCell(0, 0, 2, "High"), chart.Type);
chart.ChartData.Series.Add(wb.GetCell(0, 0, 3, "Low"), chart.Type);
chart.ChartData.Series.Add(wb.GetCell(0, 0, 4, "Close"), chart.Type);
// Aggiungi punti dati
IChartSeries series = chart.ChartData.Series[0];
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 1, 72));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 1, 25));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 1, 38));
series = chart.ChartData.Series[1];
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 2, 172));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 2, 57));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 2, 57));
series = chart.ChartData.Series[2];
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 3, 12));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 3, 12));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 3, 13));
series = chart.ChartData.Series[3];
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 4, 25));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 4, 38));
series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 4, 50));
// Imposta se il grafico ha barre su/giù
chart.ChartData.SeriesGroups[0].UpDownBars.HasUpDownBars = true;
// Specificare il formato della linea alta/bassa
chart.ChartData.SeriesGroups[0].HiLowLinesFormat.Line.FillFormat.FillType = FillType.Solid;
foreach (IChartSeries ser in chart.ChartData.Series)
{
ser.Format.Line.FillFormat.FillType = FillType.NoFill;
}
// Salva presentazione
pres.Save("stock-chart.pptx", SaveFormat.Pptx);
}
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 provare l’API senza limitazioni di valutazione.
Conclusione
In questo articolo hai imparato come creare grafici nelle presentazioni di PowerPoint usando C#. Inoltre, 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 .NET usando documentazione.