Grafy se používají pro grafické znázornění dat, což usnadňuje analýzu. Proto MS PowerPoint podporuje řadu grafů pro vizualizaci dat různými způsoby. Mezi nejčastěji používané grafy patří koláčové grafy, spojnicové grafy, sloupcové grafy, histogramy, akciové grafy atd. V tomto článku se dozvíte, jak tyto grafy vytvořit v PowerPointu PPT nebo PPTX v Pythonu.
- Knihovna Pythonu pro vytváření grafů v PowerPointu
- Vytvořte sloupcový graf v PowerPointu v Pythonu
- Vytvořte bodový graf v PPT v Pythonu
- Přidejte koláčový graf v PPT v Pythonu
- Přidejte histogramový graf do PPT v Pythonu
- Vytvořte akciový graf v PowerPointu v Pythonu
- Více o grafech
Knihovna Python pro vytváření grafů v PowerPoint PPT
K vytvoření grafů v PowerPointu PPT/PPTX použijeme Aspose.Slides pro Python přes .NET. Jedná se o knihovnu bohatou na funkce, která poskytuje kompletní balíček pro vytváření a manipulaci s prezentacemi v PowerPointu. Můžete jej nainstalovat z PyPI pomocí následujícího příkazu pip.
> pip install aspose.slides
Aspose.Slides podporuje řadu grafů, které lze do prezentací přidávat dynamicky. V následujících částech si ukážeme, jak vytvořit některé oblíbené typy grafů.
Vytvořte sloupcový graf v PowerPoint PPT v Pythonu
V této části se dozvíte, jak vytvořit sloupcový graf v powerpointové prezentaci v Pythonu. Následují kroky k provedení této operace.
- Nejprve vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek z Presentations.slides v objektu.
- Přidejte seskupený sloupcový graf s výchozími daty pomocí metody Slide.shapes.addchart().
- Nastavte název grafu a další vlastnosti, jako je formátování textu.
- Přístup k sešitu dat grafu do objektu pomocí metody Chart.chartdata.chartdataworkbook().
- Vymažte všechny výchozí řady a kategorie z dat grafu pomocí metod Chart.chartdata.series.clear() a Chart.chartdata.categories.clear().
- Přidejte nové série a kategorie.
- Přistupte ke každé řadě grafu do objektu a přidejte do něj datové body.
- Přidejte barvu výplně pro řady grafů a nastavte štítky.
- Nakonec prezentaci uložte pomocí metody Presentation.save(string, SaveFormat).
Následující ukázka kódu ukazuje, jak vytvořit sloupcový graf v PowerPoint PPT v Pythonu.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Vytvořit prezentaci (nebo načíst existující)
with slides.Presentation() as pres:
# Přístup k prvnímu snímku
sld = pres.slides[0]
# Přidat graf s výchozími daty
chart = sld.shapes.add_chart(slides.charts.ChartType.CLUSTERED_COLUMN, 0, 0, 500, 500)
# Nastavte název grafu
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
# Nastavte první sérii pro zobrazení hodnot
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# Nastavte index listu dat grafu
defaultWorksheetIndex = 0
# Získejte list dat grafu
fact = chart.chart_data.chart_data_workbook
# Smazat výchozí vygenerované série a kategorie
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
s = len(chart.chart_data.series)
s = len(chart.chart_data.categories)
# Přidat novou sérii
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)
# Přidat nové kategorie
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"))
# Vezměte první sérii grafů
series = chart.chart_data.series[0]
# Vyplňte data série
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))
# Nastavte barvu výplně pro sérii
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.blue
# Vezměte druhou řadu grafů
series = chart.chart_data.series[1]
# Vyplňte data série
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))
# Nastavte barvu výplně pro sérii
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.orange
# První štítek bude zobrazovat název kategorie
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
# Zobrazit hodnotu pro třetí štítek
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 = "/"
# Uložit prezentaci
pres.save("column-chart.pptx", slides.export.SaveFormat.PPTX)
Následuje snímek obrazovky výsledného sloupcového grafu.
Vytvořte bodový graf v PowerPoint PPT v Pythonu
Následují kroky k vytvoření bodového grafu v PowerPoint PPT v Pythonu.
- Nejprve vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek z Presentations.slides v objektu.
- Pomocí metody Slide.shapes.addchart() přidejte bodový graf s výchozími daty.
- Přístup k sešitu dat grafu do objektu pomocí metody Chart.chartdata.chartdataworkbook().
- Přidejte k datům grafu nové řady.
- Přístup ke každé sérii do objektu a přidání datových bodů do série.
- Nastavte značku pro sérii.
- Nakonec prezentaci uložte pomocí metody Presentation.save(string, SaveFormat).
Následující ukázka kódu ukazuje, jak vytvořit bodový graf v PowerPoint PPTX v Pythonu.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Vytvořit prezentaci (nebo načíst existující)
with slides.Presentation() as pres:
# Přístup k prvnímu snímku
slide = pres.slides[0]
# Vytvořte výchozí graf
chart = slide.shapes.add_chart(slides.charts.ChartType.SCATTER_WITH_SMOOTH_LINES, 0, 0, 400, 400)
# Získejte výchozí index listu dat grafu
defaultWorksheetIndex = 0
# Získejte list dat grafu
fact = chart.chart_data.chart_data_workbook
# Smazat ukázkovou sérii
chart.chart_data.series.clear()
# Přidat novou sérii
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)
# Vezměte první sérii grafů
series = chart.chart_data.series[0]
# Přidat nový bod (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))
# Přidat nový bod (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))
# Upravte typ série
series.type = slides.charts.ChartType.SCATTER_WITH_STRAIGHT_LINES_AND_MARKERS
# Změňte značku řady grafu
series.marker.size = 10
series.marker.symbol = slides.charts.MarkerStyleType.STAR
# Vezměte druhou řadu grafů
series = chart.chart_data.series[1]
# Přidat nový bod (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))
# Přidat nový bod (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))
# Přidat nový bod (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))
# Přidat nový bod (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))
# Změňte značku řady grafu
series.marker.size = 10
series.marker.symbol = slides.charts.MarkerStyleType.CIRCLE
# Uložit prezentaci
pres.save("scatter-chart.pptx", slides.export.SaveFormat.PPTX)
Následující snímek obrazovky ukazuje výsledný bodový graf.
Vytvořte výsečový graf v PowerPoint PPT v Pythonu
Následují kroky k vytvoření výsečového grafu v PowerPoint PPT v Pythonu.
- Nejprve vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek z Presentations.slides v objektu.
- Pomocí metody Slide.shapes.addchart() přidejte výsečový graf s výchozími daty.
- Nastavte název grafu a další vlastnosti, jako je formátování textu.
- Nastavte viditelnost hodnot.
- Vymažte všechny výchozí řady a kategorie z dat grafu pomocí metod Chart.chartdata.series.clear() a Chart.chartdata.categories.clear().
- Přístup k sešitu dat grafu do objektu pomocí metody Chart.chartdata.chartdataworkbook().
- Přidejte do dat grafu nové kategorie.
- Přidejte k datům grafu nové řady.
- Přístup ke každé sérii do objektu a přidání datových bodů do série.
- Přístup ke každému datovému bodu a nastavení jeho formátování.
- Aplikujte formátování na popisky dat v datových bodech.
- Nastavte odkazové čáry a úhly rotace.
- Nakonec prezentaci uložte pomocí metody Presentation.save(string, SaveFormat).
Následující ukázka kódu ukazuje, jak vytvořit výsečový graf v PowerPoint PPTX v Pythonu.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Vytvořit prezentaci (nebo načíst existující)
with slides.Presentation() as presentation:
# Přístup k prvnímu snímku
slide = presentation.slides[0]
# Přidat graf s výchozími daty
chart = slide.shapes.add_chart(slides.charts.ChartType.PIE, 100, 100, 400, 400)
# Nastavte název grafu
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
# Nastavte první sérii pro zobrazení hodnot
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# Nastavte index listu dat grafu
defaultWorksheetIndex = 0
# Získejte list dat grafu
fact = chart.chart_data.chart_data_workbook
# Smazat výchozí vygenerované série a kategorie
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
# Přidat nové kategorie
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"))
# Přidat novou sérii
series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Series 1"), chart.type)
# Vyplňte data série
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))
# Přidejte nové body a nastavte barvu sektoru
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
# Nastavte hranici sektoru
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 = snímky.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
# Nastavte hranici sektoru
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 = snímky.LineStyle.SINGLE
# point1.format.line.dash_style = snímky.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
# Nastavte hranici sektoru
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 = snímky.LineStyle.THIN_THIN
# point2.format.line.dash_style = snímky.LineDashStyle.LARGE_DASH_DOT_DOT
# Vytvořte vlastní štítky pro každou z kategorií pro nové série
lbl1 = series.data_points[0].label
# lbl.show_category_name = Pravda
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
# Zobrazit vodicí čáry pro graf
# series.labels.default_data_label_format.show_leader_lines = Pravda
# Nastavte úhel otočení pro sektory koláčového grafu
chart.chart_data.series_groups[0].first_slice_angle = 180
# Uložit prezentaci
presentation.save("pie-chart.pptx", slides.export.SaveFormat.PPTX)
Následuje snímek obrazovky vygenerovaného koláčového grafu.
Přidejte histogramový graf v PowerPointu PPTX v Pythonu
Následují kroky k vytvoření histogramového grafu v PowerPoint PPT pomocí Aspose.Slides pro Python.
- Nejprve vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek z Presentations.slides v objektu.
- Přidejte histogramový graf s výchozími daty pomocí metody Slide.shapes.addchart().
- Vymažte výchozí série a kategorie.
- Přístup k sešitu dat grafu do objektu pomocí metody Chart.chartdata.chartdataworkbook().
- Přidejte k datům grafu nové řady.
- Přístup ke každé sérii do objektu a přidání datových bodů do série.
- Nastavte typ agregace osy grafu.
- Nakonec prezentaci uložte pomocí metody Presentation.save(string, SaveFormat).
Následující ukázka kódu ukazuje, jak vytvořit histogramový graf v PPTX v Pythonu.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Vytvořit prezentaci (nebo načíst existující)
with slides.Presentation() as pres:
# Přidat graf
chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.HISTOGRAM, 50, 50, 500, 400)
# Vymazat výchozí kategorie a série
chart.chart_data.categories.clear()
chart.chart_data.series.clear()
# Přístup k sešitu
wb = chart.chart_data.chart_data_workbook
wb.clear(0)
# Přidejte datové body do řady
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))
# Nastavte typ agregace
chart.axes.horizontal_axis.aggregation_type = slides.charts.AxisAggregationType.AUTOMATIC
# Uložit prezentaci
pres.save("histogram-chart.pptx", slides.export.SaveFormat.PPTX)
Následuje snímek obrazovky vytvořeného histogramu.
Vytvořte burzovní graf v PowerPointu pomocí Pythonu
Burzovní grafy také patří mezi běžně používané typy grafů v prezentacích PowerPoint. Následují kroky k vytvoření burzovního grafu v PPT v Pythonu.
- Nejprve vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek z Presentations.slides v objektu.
- Přidejte graf Open High Low Close s výchozími daty pomocí metody Slide.shapes.addchart().
- Vymažte výchozí série a kategorie.
- Přístup k sešitu dat grafu do objektu pomocí metody Chart.chartdata.chartdataworkbook().
- Přidejte do grafu nové série a kategorie.
- Získejte přístup ke každé řadě grafů a přidejte datové body.
- Zadejte formát Hi Low Lines.
- Nakonec prezentaci uložte pomocí metody Presentation.save(string, SaveFormat).
Následující ukázka kódu ukazuje, jak přidat burzovní graf do PowerPoint PPTX v Pythonu.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Vytvořit prezentaci (nebo načíst existující)
with slides.Presentation() as pres:
# Přidat graf
chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.OPEN_HIGH_LOW_CLOSE, 50, 50, 600, 400, False)
# Vymazat výchozí série a kategorie
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
# Přístup k sešitu
wb = chart.chart_data.chart_data_workbook
# Přidat kategorie
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"))
# Přidat sérii
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)
# Přidejte datové body
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
# Nastavte formátování výplně série
for ser in chart.chart_data.series:
ser.format.line.fill_format.fill_type = slides.FillType.NO_FILL
# Uložit prezentaci
pres.save("stock-chart.pptx", slides.export.SaveFormat.PPTX)
Následuje snímek obrazovky vytvořeného akciového grafu.
Více o grafech
Existuje mnoho dalších grafů, které můžete přidat do prezentací PowerPoint pomocí Aspose.Slides pro Python. Chcete-li si přečíst více o podporovaných typech grafů, můžete navštívit tento článek dokumentace.
Získejte bezplatnou licenci
Můžete získat bezplatnou dočasnou licenci a vyzkoušet knihovnu bez omezení hodnocení.
Závěr
V tomto článku jste se naučili vytvářet grafy v PowerPointu PPT nebo PPTX v Pythonu. Prošli jsme kroky a ukázky kódu, jak přidat sloupcové grafy, bodové grafy, koláčové grafy, histogramy a akciové grafy. Více o Aspose.Slides pro Python můžete prozkoumat pomocí dokumentace. V případě, že byste měli nějaké dotazy nebo dotazy, dejte nám vědět prostřednictvím našeho fóra.