Diagram används för den grafiska representationen av data, vilket gör analysen enklare. Därför stöder MS PowerPoint en rad diagram för att visualisera data på olika sätt. Bland alla de mest använda diagrammen inkluderar cirkeldiagram, linjediagram, stapeldiagram, histogram, aktiediagram, etc. I den här artikeln kommer du att lära dig hur du skapar dessa diagram i PowerPoint PPT eller PPTX i Python.
- Python-bibliotek för att skapa diagram i PowerPoint
- Skapa kolumndiagram i PowerPoint i Python
- Skapa spridningsdiagram i PPT i Python
- Lägg till cirkeldiagram i PPT i Python
- Lägg till histogramdiagram i PPT i Python
- Skapa ett aktiediagram i PowerPoint i Python
- Mer om diagram
Python-bibliotek för att skapa diagram i PowerPoint PPT
För att skapa diagram i PowerPoint PPT/PPTX kommer vi att använda Aspose.Slides för Python via .NET. Det är ett funktionsrikt bibliotek som ger ett komplett paket för att skapa och manipulera PowerPoint-presentationer. Du kan installera det från PyPI med följande pip-kommando.
> pip install aspose.slides
Aspose.Slides stöder en mängd olika diagram som kan läggas till i presentationerna dynamiskt. I följande avsnitt kommer vi att visa hur man skapar några populära typer av diagram.
Skapa kolumndiagram i PowerPoint PPT i Python
I det här avsnittet kommer du att lära dig hur du skapar ett kolumndiagram i en PowerPoint-presentation i Python. Följande är stegen för att utföra denna operation.
- Skapa först en instans av klassen Presentation.
- Få referensen till bilden från Presentations.slides i ett objekt.
- Lägg till ett Clustered Column-diagram med standarddata med Slide.shapes.addchart()-metoden.
- Ställ in diagramtitel och andra egenskaper som textformatering.
- Få åtkomst till diagramdataarbetsboken till ett objekt med metoden Chart.chartdata.chartdataworkbook().
- Rensa alla standardserier och kategorier från diagramdata med metoderna Chart.chartdata.series.clear() respektive Chart.chartdata.categories.clear().
- Lägg till nya serier och kategorier.
- Få åtkomst till varje diagramserie till ett objekt och lägg till datapunkter till det.
- Lägg till fyllningsfärg för diagramserier och ställ in etiketter.
- Slutligen sparar du presentationen med metoden Presentation.save(string, SaveFormat).
Följande kodexempel visar hur man skapar ett kolumndiagram i PowerPoint PPT i Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Skapa presentation (eller ladda en befintlig)
with slides.Presentation() as pres:
# Få tillgång till första bilden
sld = pres.slides[0]
# Lägg till diagram med standarddata
chart = sld.shapes.add_chart(slides.charts.ChartType.CLUSTERED_COLUMN, 0, 0, 500, 500)
# Ange diagramtitel
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
# Ställ in första serien för att visa värden
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# Ställ in index för diagramdatabladet
defaultWorksheetIndex = 0
# Skaffa arbetsbladet för diagramdata
fact = chart.chart_data.chart_data_workbook
# Ta bort standardgenererade serier och kategorier
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
s = len(chart.chart_data.series)
s = len(chart.chart_data.categories)
# Lägg till nya serier
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)
# Lägg till nya kategorier
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"))
# Ta första diagramserien
series = chart.chart_data.series[0]
# Fyll i seriedata
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))
# Ställ in fyllningsfärg för serier
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.blue
# Ta den andra diagramserien
series = chart.chart_data.series[1]
# Fyll i seriedata
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))
# Ställ in fyllningsfärg för serier
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.orange
# Den första etiketten visar kategorinamnet
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
# Visa värde för tredje etikett
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 = "/"
# Spara presentationen
pres.save("column-chart.pptx", slides.export.SaveFormat.PPTX)
Följande är skärmdumpen av det resulterande kolumndiagrammet.
Skapa spridningsdiagram i PowerPoint PPT i Python
Följande är stegen för att skapa ett punktdiagram i PowerPoint PPT i Python.
- Skapa först en instans av klassen Presentation.
- Få referensen till bilden från Presentations.slides i ett objekt.
- Lägg till ett spridningsdiagram med standarddata med metoden Slide.shapes.addchart().
- Få åtkomst till diagramdataarbetsboken till ett objekt med metoden Chart.chartdata.chartdataworkbook().
- Lägg till nya serier till diagramdata.
- Få åtkomst till varje serie till ett objekt och lägg till datapunkter i serien.
- Ställ in markören för serien.
- Slutligen sparar du presentationen med metoden Presentation.save(string, SaveFormat).
Följande kodexempel visar hur man skapar ett punktdiagram i PowerPoint PPTX i Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Skapa presentation (eller ladda en befintlig)
with slides.Presentation() as pres:
# Få tillgång till första bilden
slide = pres.slides[0]
# Skapa standarddiagrammet
chart = slide.shapes.add_chart(slides.charts.ChartType.SCATTER_WITH_SMOOTH_LINES, 0, 0, 400, 400)
# Hämta standarddiagrammets kalkylbladsindex
defaultWorksheetIndex = 0
# Skaffa arbetsbladet för diagramdata
fact = chart.chart_data.chart_data_workbook
# Ta bort demoserier
chart.chart_data.series.clear()
# Lägg till nya serier
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)
# Ta första diagramserien
series = chart.chart_data.series[0]
# Lägg till ny punkt (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))
# Lägg till ny punkt (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))
# Redigera typen av serie
series.type = slides.charts.ChartType.SCATTER_WITH_STRAIGHT_LINES_AND_MARKERS
# Ändra diagramseriemarkören
series.marker.size = 10
series.marker.symbol = slides.charts.MarkerStyleType.STAR
# Ta den andra diagramserien
series = chart.chart_data.series[1]
# Lägg till ny punkt (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))
# Lägg till ny punkt (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))
# Lägg till ny punkt (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))
# Lägg till ny punkt (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))
# Ändra diagramseriemarkören
series.marker.size = 10
series.marker.symbol = slides.charts.MarkerStyleType.CIRCLE
# Spara presentationen
pres.save("scatter-chart.pptx", slides.export.SaveFormat.PPTX)
Följande skärmdump visar det resulterande spridningsdiagrammet.
Skapa cirkeldiagram i PowerPoint PPT i Python
Följande är stegen för att skapa ett cirkeldiagram i en PowerPoint PPT i Python.
- Skapa först en instans av klassen Presentation.
- Få referensen till bilden från Presentations.slides i ett objekt.
- Lägg till ett cirkeldiagram med standarddata med metoden Slide.shapes.addchart().
- Ställ in diagramtitel och andra egenskaper som textformatering.
- Ställ in synlighet för värdena.
- Rensa alla standardserier och kategorier från diagramdata med metoderna Chart.chartdata.series.clear() respektive Chart.chartdata.categories.clear().
- Få åtkomst till diagramdataarbetsboken till ett objekt med metoden Chart.chartdata.chartdataworkbook().
- Lägg till nya kategorier till diagramdata.
- Lägg till nya serier till diagramdata.
- Få åtkomst till varje serie till ett objekt och lägg till datapunkter i serien.
- Gå till varje datapunkt och ställ in dess formatering.
- Tillämpa formatering på dataetiketter i datapunkterna.
- Ställ in ledarlinjer och rotationsvinklar.
- Slutligen sparar du presentationen med metoden Presentation.save(string, SaveFormat).
Följande kodexempel visar hur man skapar ett cirkeldiagram i PowerPoint PPTX i Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Skapa presentation (eller ladda en befintlig)
with slides.Presentation() as presentation:
# Få tillgång till första bilden
slide = presentation.slides[0]
# Lägg till diagram med standarddata
chart = slide.shapes.add_chart(slides.charts.ChartType.PIE, 100, 100, 400, 400)
# Ange diagramtitel
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
# Ställ in första serien för att visa värden
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# Ställ in index för diagramdatabladet
defaultWorksheetIndex = 0
# Skaffa arbetsbladet för diagramdata
fact = chart.chart_data.chart_data_workbook
# Ta bort standardgenererade serier och kategorier
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
# Lägg till nya kategorier
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"))
# Lägg till nya serier
series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Series 1"), chart.type)
# Fyll i seriedata
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))
# Lägg till nya punkter och ställ in sektorfärg
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
# Ställ in sektorgräns
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
# Ställ in sektorgräns
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
# Ställ in sektorgräns
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
# Skapa anpassade etiketter för varje kategori för nya serier
lbl1 = series.data_points[0].label
# lbl.show_category_name = Sant
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
# Visa ledarlinjer för diagram
# series.labels.default_data_label_format.show_leader_lines = Sant
# Ställ in rotationsvinkel för cirkeldiagramsektorer
chart.chart_data.series_groups[0].first_slice_angle = 180
# Spara presentationen
presentation.save("pie-chart.pptx", slides.export.SaveFormat.PPTX)
Följande är skärmdumpen av det genererade cirkeldiagrammet.
Lägg till histogramdiagram i PowerPoint PPTX i Python
Följande är stegen för att skapa ett histogramdiagram i PowerPoint PPT med Aspose.Slides för Python.
- Skapa först en instans av klassen Presentation.
- Få referensen till bilden från Presentations.slides i ett objekt.
- Lägg till ett histogramdiagram med standarddata med metoden Slide.shapes.addchart().
- Rensa standardserier och kategorier.
- Få åtkomst till diagramdataarbetsboken till ett objekt med metoden Chart.chartdata.chartdataworkbook().
- Lägg till nya serier till diagramdata.
- Få åtkomst till varje serie till ett objekt och lägg till datapunkter i serien.
- Ställ in aggregeringstyp för diagramaxeln.
- Slutligen sparar du presentationen med metoden Presentation.save(string, SaveFormat).
Följande kodexempel visar hur man skapar ett histogramdiagram i PPTX i Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Skapa presentation (eller ladda en befintlig)
with slides.Presentation() as pres:
# Lägg till diagram
chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.HISTOGRAM, 50, 50, 500, 400)
# Rensa standardkategorier och serier
chart.chart_data.categories.clear()
chart.chart_data.series.clear()
# Få tillgång till arbetsboken
wb = chart.chart_data.chart_data_workbook
wb.clear(0)
# Lägg till datapunkter i serier
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))
# Ställ in aggregeringstyp
chart.axes.horizontal_axis.aggregation_type = slides.charts.AxisAggregationType.AUTOMATIC
# Spara presentationen
pres.save("histogram-chart.pptx", slides.export.SaveFormat.PPTX)
Följande är skärmdumpen av det skapade histogramdiagrammet.
Skapa ett aktiediagram i PowerPoint med Python
Aktiediagram är också bland de vanligaste diagramtyperna i PowerPoint-presentationer. Följande är stegen för att skapa ett aktiediagram i en PPT i Python.
- Skapa först en instans av klassen Presentation.
- Få referensen till bilden från Presentations.slides i ett objekt.
- Lägg till ett Öppna Hög Låg Stäng-diagram med standarddata med Slide.shapes.addchart()-metoden.
- Rensa standardserier och kategorier.
- Få åtkomst till diagramdataarbetsboken till ett objekt med metoden Chart.chartdata.chartdataworkbook().
- Lägg till nya serier och kategorier i diagrammet.
- Få tillgång till varje diagramserie och lägg till datapunkter.
- Ange Hi Low Lines-format.
- Slutligen sparar du presentationen med metoden Presentation.save(string, SaveFormat).
Följande kodexempel visar hur man lägger till ett aktiediagram till PowerPoint PPTX i Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Skapa presentation (eller ladda en befintlig)
with slides.Presentation() as pres:
# Lägg till diagram
chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.OPEN_HIGH_LOW_CLOSE, 50, 50, 600, 400, False)
# Rensa standardserier och kategorier
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
# Få tillgång till arbetsboken
wb = chart.chart_data.chart_data_workbook
# Lägg till kategorier
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"))
# Lägg till serier
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)
# Lägg till datapunkter
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
# Ställ in seriefyllningsformatering
for ser in chart.chart_data.series:
ser.format.line.fill_format.fill_type = slides.FillType.NO_FILL
# Spara presentationen
pres.save("stock-chart.pptx", slides.export.SaveFormat.PPTX)
Följande är skärmdumpen av det skapade aktiediagrammet.
Mer om diagram
Det finns många andra diagram som du kan lägga till i PowerPoint-presentationer med Aspose.Slides för Python. För att läsa mer om de diagramtyper som stöds kan du besöka denna dokumentationsartikel.
Skaffa en gratis licens
Du kan få en gratis tillfällig licens för att prova biblioteket utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har du lärt dig hur du skapar diagram i PowerPoint PPT eller PPTX i Python. Vi har gått igenom stegen och kodexemplen för hur man lägger till kolumndiagram, punktdiagram, cirkeldiagram, histogram och aktiediagram. Du kan utforska mer om Aspose.Slides för Python med hjälp av dokumentation. Om du skulle ha några frågor eller funderingar, låt oss veta via vårt forum.