I grafici vengono utilizzati per la rappresentazione grafica dei dati, il che semplifica l’analisi. Pertanto, MS PowerPoint supporta una gamma di grafici per visualizzare i dati in modi diversi. Tra tutti, i grafici più comunemente usati includono grafici a torta, grafici a linee, grafici a barre, istogrammi, grafici azionari, ecc. In questo articolo imparerai come creare questi grafici in PowerPoint PPT o PPTX in Python.
- Libreria Python per creare grafici in PowerPoint
- Crea un istogramma in PowerPoint in Python
- Crea grafico a dispersione in PPT in Python
- Aggiungi un grafico a torta in PPT in Python
- Aggiungi il grafico dell’istogramma in PPT in Python
- Crea un grafico azionario in PowerPoint in Python
- Maggiori informazioni sui grafici
Libreria Python per creare grafici in PowerPoint PPT
Per creare grafici in PowerPoint PPT/PPTX, utilizzeremo Aspose.Slides for Python via .NET. È una libreria ricca di funzionalità che fornisce un pacchetto completo per creare e manipolare presentazioni PowerPoint. Puoi installarlo da PyPI usando il seguente comando pip.
> pip install aspose.slides
Aspose.Slides supporta una varietà di grafici che possono essere aggiunti alle presentazioni in modo dinamico. Nelle sezioni seguenti dimostreremo come creare alcuni tipi di grafici popolari.
Crea un istogramma in PowerPoint PPT in Python
In questa sezione imparerai come creare un istogramma in una presentazione PowerPoint in Python. Di seguito sono riportati i passaggi per eseguire questa operazione.
- Innanzitutto, crea un’istanza della classe Presentation.
- Ottieni il riferimento della diapositiva da Presentations.slides in un oggetto.
- Aggiungi un istogramma in cluster con i dati predefiniti utilizzando il metodo Slide.shapes.addchart().
- Imposta il titolo del grafico e altre proprietà come la formattazione del testo.
- Accedi alla cartella di lavoro dei dati del grafico in un oggetto utilizzando il metodo Chart.chartdata.chartdataworkbook().
- Cancella tutte le serie e le categorie predefinite dai dati del grafico utilizzando rispettivamente i metodi Chart.chartdata.series.clear() e Chart.chartdata.categories.clear().
- Aggiungi nuove serie e categorie.
- Accedi a ciascuna serie di grafici in un oggetto 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).
L’esempio di codice seguente mostra come creare un istogramma in PowerPoint PPT in Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation (or load existing one)
with slides.Presentation() as pres:
# Access first slide
sld = pres.slides[0]
# Add chart with default data
chart = sld.shapes.add_chart(slides.charts.ChartType.CLUSTERED_COLUMN, 0, 0, 500, 500)
# Set chart title
chart.chart_title.add_text_frame_for_overriding("Sample Title")
chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1
chart.chart_title.height = 20
chart.has_title = True
# Set first series to show values
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# Set the index of chart data sheet
defaultWorksheetIndex = 0
# Get the chart data worksheet
fact = chart.chart_data.chart_data_workbook
# Delete default generated series and categories
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
s = len(chart.chart_data.series)
s = len(chart.chart_data.categories)
# Add new series
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.type)
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.type)
# Add new categories
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"))
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"))
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"))
# Take first chart series
series = chart.chart_data.series[0]
# Populate series data
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30))
# Set fill color for series
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.blue
# Take second chart series
series = chart.chart_data.series[1]
# Populate series data
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 2, 30))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 2, 10))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 2, 60))
# Set fill color for series
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.orange
# First label will show category name
lbl = series.data_points[0].label
lbl.data_label_format.show_category_name = True
lbl = series.data_points[1].label
lbl.data_label_format.show_series_name = True
# Show value for third label
lbl = series.data_points[2].label
lbl.data_label_format.show_value = True
lbl.data_label_format.show_series_name = True
lbl.data_label_format.separator = "/"
# Save presentation
pres.save("column-chart.pptx", slides.export.SaveFormat.PPTX)
Quello che segue è lo screenshot del grafico a colonne risultante.
Crea grafico a dispersione in PowerPoint PPT in Python
Di seguito sono riportati i passaggi per creare un grafico a dispersione in PowerPoint PPT in Python.
- Innanzitutto, crea un’istanza della classe Presentation.
- Ottieni il riferimento della diapositiva da Presentations.slides in un oggetto.
- Aggiungi un grafico a dispersione con i dati predefiniti utilizzando il metodo Slide.shapes.addchart().
- Accedi alla cartella di lavoro dei dati del grafico in un oggetto utilizzando il metodo Chart.chartdata.chartdataworkbook().
- Aggiungi nuove serie ai dati del grafico.
- Accedi a ciascuna serie in un oggetto e aggiungi punti dati alla serie.
- Imposta il marcatore per la serie.
- Infine, salva la presentazione usando il metodo Presentation.save(string, SaveFormat).
L’esempio di codice seguente mostra come creare un grafico a dispersione in PowerPoint PPTX in Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation (or load existing one)
with slides.Presentation() as pres:
# Access first slide
slide = pres.slides[0]
# Create the default chart
chart = slide.shapes.add_chart(slides.charts.ChartType.SCATTER_WITH_SMOOTH_LINES, 0, 0, 400, 400)
# Get the default chart data worksheet index
defaultWorksheetIndex = 0
# Get the chart data worksheet
fact = chart.chart_data.chart_data_workbook
# Delete demo series
chart.chart_data.series.clear()
# Add new series
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.type)
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.type)
# Take first chart series
series = chart.chart_data.series[0]
# Add new point (1:3)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 1), fact.get_cell(defaultWorksheetIndex, 2, 2, 3))
# Add new point (2:10)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 2), fact.get_cell(defaultWorksheetIndex, 3, 2, 10))
# Edit the type of series
series.type = slides.charts.ChartType.SCATTER_WITH_STRAIGHT_LINES_AND_MARKERS
# Change the chart series marker
series.marker.size = 10
series.marker.symbol = slides.charts.MarkerStyleType.STAR
# Take second chart series
series = chart.chart_data.series[1]
# Add new point (5:2)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 2, 3, 5), fact.get_cell(defaultWorksheetIndex, 2, 4, 2))
# Add new point (3:1)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 3, 3, 3), fact.get_cell(defaultWorksheetIndex, 3, 4, 1))
# Add new point (2:2)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 4, 3, 2), fact.get_cell(defaultWorksheetIndex, 4, 4, 2))
# Add new point (5:1)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 5, 3, 5), fact.get_cell(defaultWorksheetIndex, 5, 4, 1))
# Change the chart series marker
series.marker.size = 10
series.marker.symbol = slides.charts.MarkerStyleType.CIRCLE
# Save presentation
pres.save("scatter-chart.pptx", slides.export.SaveFormat.PPTX)
Lo screenshot seguente mostra il grafico a dispersione risultante.
Crea grafico a torta in PowerPoint PPT in Python
Di seguito sono riportati i passaggi per creare un grafico a torta in un PPT di PowerPoint in Python.
- Innanzitutto, crea un’istanza della classe Presentation.
- Ottieni il riferimento della diapositiva da Presentations.slides in un oggetto.
- Aggiungi un grafico a torta con dati predefiniti utilizzando il metodo Slide.shapes.addchart().
- Imposta il titolo del grafico e altre proprietà come la formattazione del testo.
- Impostare la visibilità dei valori.
- Cancella tutte le serie e le categorie predefinite dai dati del grafico utilizzando rispettivamente i metodi Chart.chartdata.series.clear() e Chart.chartdata.categories.clear().
- Accedi alla cartella di lavoro dei dati del grafico in un oggetto utilizzando il metodo Chart.chartdata.chartdataworkbook().
- Aggiungi nuove categorie ai dati del grafico.
- Aggiungi nuove serie ai dati del grafico.
- Accedi a ciascuna serie in un oggetto e aggiungi punti dati alla serie.
- Accedi a ciascun punto dati e impostane la formattazione.
- Applicare la formattazione alle etichette dati nei punti dati.
- Imposta le linee guida e gli angoli di rotazione.
- Infine, salva la presentazione usando il metodo Presentation.save(string, SaveFormat).
L’esempio di codice seguente mostra come creare un grafico a torta in PowerPoint PPTX in Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation (or load existing one)
with slides.Presentation() as presentation:
# Access first slide
slide = presentation.slides[0]
# Add chart with default data
chart = slide.shapes.add_chart(slides.charts.ChartType.PIE, 100, 100, 400, 400)
# Set chart title
chart.chart_title.add_text_frame_for_overriding("Sample Title")
chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1
chart.chart_title.height = 20
chart.has_title = True
# Set first series to show values
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# Set the index of chart data sheet
defaultWorksheetIndex = 0
# Get the chart data worksheet
fact = chart.chart_data.chart_data_workbook
# Delete default generated series and categories
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
# Add new categories
chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "First Qtr"))
chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "2nd Qtr"))
chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "3rd Qtr"))
# Add new series
series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Series 1"), chart.type)
# Populate series data
series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20))
series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50))
series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30))
# Add new points and set sector color
chart.chart_data.series_groups[0].is_color_varied = True
point = series.data_points[0]
point.format.fill.fill_type = slides.FillType.SOLID
point.format.fill.solid_fill_color.color = drawing.Color.orange
# Set sector border
point.format.line.fill_format.fill_type = slides.FillType.SOLID
point.format.line.fill_format.solid_fill_color.color = drawing.Color.gray
point.format.line.width = 3.0
# point.format.line.style = slides.LineStyle.THIN_THICK
# point.format.line.dash_style = slides.LineDashStyle.DASH_DOT
point1 = series.data_points[1]
point1.format.fill.fill_type = slides.FillType.SOLID
point1.format.fill.solid_fill_color.color = drawing.Color.blue_violet
# Set sector border
point1.format.line.fill_format.fill_type = slides.FillType.SOLID
point1.format.line.fill_format.solid_fill_color.color = drawing.Color.blue
point1.format.line.width = 3.0
# point1.format.line.style = slides.LineStyle.SINGLE
# point1.format.line.dash_style = slides.LineDashStyle.LARGE_DASH_DOT
point2 = series.data_points[2]
point2.format.fill.fill_type = slides.FillType.SOLID
point2.format.fill.solid_fill_color.color = drawing.Color.yellow_green
# Set sector border
point2.format.line.fill_format.fill_type = slides.FillType.SOLID
point2.format.line.fill_format.solid_fill_color.color = drawing.Color.red
point2.format.line.width = 2.0
# point2.format.line.style = slides.LineStyle.THIN_THIN
# point2.format.line.dash_style = slides.LineDashStyle.LARGE_DASH_DOT_DOT
# Create custom labels for each of categories for new series
lbl1 = series.data_points[0].label
# lbl.show_category_name = True
lbl1.data_label_format.show_value = True
lbl2 = series.data_points[1].label
lbl2.data_label_format.show_value = True
lbl2.data_label_format.show_legend_key = True
lbl2.data_label_format.show_percentage = True
lbl3 = series.data_points[2].label
lbl3.data_label_format.show_series_name = True
lbl3.data_label_format.show_percentage = True
# Show leader lines for chart
# series.labels.default_data_label_format.show_leader_lines = True
# Set rotation angle for pie chart sectors
chart.chart_data.series_groups[0].first_slice_angle = 180
# Save presentation
presentation.save("pie-chart.pptx", slides.export.SaveFormat.PPTX)
Quello che segue è lo screenshot del grafico a torta generato.
Aggiungi il grafico dell’istogramma in PowerPoint PPTX in Python
Di seguito sono riportati i passaggi per creare un grafico a istogramma in PowerPoint PPT usando Aspose.Slides per Python.
- Innanzitutto, crea un’istanza della classe Presentation.
- Ottieni il riferimento della diapositiva da Presentations.slides in un oggetto.
- Aggiungi un grafico istogramma con dati predefiniti utilizzando il metodo Slide.shapes.addchart().
- Cancella le serie e le categorie predefinite.
- Accedi alla cartella di lavoro dei dati del grafico in un oggetto utilizzando il metodo Chart.chartdata.chartdataworkbook().
- Aggiungi nuove serie ai dati del grafico.
- Accedi a ciascuna serie in un oggetto e aggiungi punti dati alla serie.
- Imposta il tipo di aggregazione dell’asse del grafico.
- Infine, salva la presentazione usando il metodo Presentation.save(string, SaveFormat).
L’esempio di codice seguente mostra come creare un grafico a istogramma in PPTX in Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation (or load existing one)
with slides.Presentation() as pres:
# Add chart
chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.HISTOGRAM, 50, 50, 500, 400)
# Clear default categories and series
chart.chart_data.categories.clear()
chart.chart_data.series.clear()
# Access workbook
wb = chart.chart_data.chart_data_workbook
wb.clear(0)
# Add data points to series
series = chart.chart_data.series.add(slides.charts.ChartType.HISTOGRAM)
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A1", 15))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A2", -41))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A3", 16))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A4", 10))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A5", -23))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A6", 16))
# Set aggregation type
chart.axes.horizontal_axis.aggregation_type = slides.charts.AxisAggregationType.AUTOMATIC
# Save presentation
pres.save("histogram-chart.pptx", slides.export.SaveFormat.PPTX)
Quello che segue è lo screenshot del grafico dell’istogramma creato.
Crea un grafico azionario in PowerPoint usando Python
I grafici azionari sono anche tra i tipi di grafici comunemente usati nelle presentazioni PowerPoint. Di seguito sono riportati i passaggi per creare un grafico azionario in un PPT in Python.
- Innanzitutto, crea un’istanza della classe Presentation.
- Ottieni il riferimento della diapositiva da Presentations.slides in un oggetto.
- Aggiungi un grafico Open High Low Close con i dati predefiniti utilizzando il metodo Slide.shapes.addchart().
- Cancella le serie e le categorie predefinite.
- Accedi alla cartella di lavoro dei dati del grafico in un oggetto utilizzando il metodo Chart.chartdata.chartdataworkbook().
- Aggiungi nuove serie e categorie al grafico.
- Accedi a ciascuna serie di grafici e aggiungi punti dati.
- Specificare il formato Hi Low Lines.
- Infine, salva la presentazione usando il metodo Presentation.save(string, SaveFormat).
L’esempio di codice seguente mostra come aggiungere un grafico azionario a PowerPoint PPTX in Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation (or load existing one)
with slides.Presentation() as pres:
# Add chart
chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.OPEN_HIGH_LOW_CLOSE, 50, 50, 600, 400, False)
# Clear default series and categories
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
# Access workbook
wb = chart.chart_data.chart_data_workbook
# Add categories
chart.chart_data.categories.add(wb.get_cell(0, 1, 0, "A"))
chart.chart_data.categories.add(wb.get_cell(0, 2, 0, "B"))
chart.chart_data.categories.add(wb.get_cell(0, 3, 0, "C"))
# Add series
chart.chart_data.series.add(wb.get_cell(0, 0, 1, "Open"), chart.type)
chart.chart_data.series.add(wb.get_cell(0, 0, 2, "High"), chart.type)
chart.chart_data.series.add(wb.get_cell(0, 0, 3, "Low"), chart.type)
chart.chart_data.series.add(wb.get_cell(0, 0, 4, "Close"), chart.type)
# Add data points
series = chart.chart_data.series[0]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 1, 72))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 1, 25))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 1, 38))
series = chart.chart_data.series[1]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 2, 172))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 2, 57))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 2, 57))
series = chart.chart_data.series[2]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 3, 12))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 3, 12))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 3, 13))
series = chart.chart_data.series[3]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 4, 25))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 4, 38))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 4, 50))
chart.chart_data.series_groups[0].up_down_bars.has_up_down_bars = True
chart.chart_data.series_groups[0].hi_low_lines_format.line.fill_format.fill_type = slides.FillType.SOLID
# Set series fill formatting
for ser in chart.chart_data.series:
ser.format.line.fill_format.fill_type = slides.FillType.NO_FILL
# Save presentation
pres.save("stock-chart.pptx", slides.export.SaveFormat.PPTX)
Quello che segue è lo screenshot del grafico azionario creato.
Maggiori informazioni sui grafici
Ci sono molti altri grafici che puoi aggiungere alle presentazioni di PowerPoint usando Aspose.Slides per Python. Per saperne di più sui tipi di grafici supportati, puoi visitare questo articolo della documentazione.
Ottieni una licenza gratuita
Puoi ottenere una licenza temporanea gratuita per provare la libreria senza limitazioni di valutazione.
Conclusione
In questo articolo, hai imparato come creare grafici in PowerPoint PPT o PPTX in Python. Abbiamo esaminato i passaggi e gli esempi di codice su come aggiungere istogrammi, grafici a dispersione, grafici a torta, istogrammi e grafici azionari. Puoi esplorare di più su Aspose.Slides per Python usando documentazione. In caso aveste domande o domande, fatecelo sapere tramite il nostro forum.