Přizpůsobení výsečových grafů v prezentacích pomocí Pythonu
Přehled
Tento článek vysvětluje, jak pracovat s výsečovými grafy v Aspose.Slides. Ukazuje, jak nakonfigurovat možnosti sekundárního diagramu pro grafy Pie of Pie a Bar of Pie a jak povolit automatické barvení výsečí u standardního výsečového grafu.
Příklady se zaměřují na úkoly přizpůsobení grafu, jako je přidání grafu na snímek, úprava nastavení řad a popisků, nahrazení výchozích dat grafu vlastními kategoriemi a hodnotami a uložení aktualizované prezentace.
Možnosti sekundárního diagramu pro grafy Pie of Pie a Bar of Pie
Aspose.Slides for Python via .NET podporuje možnosti sekundárního diagramu pro grafy Pie of Pie a Bar of Pie. Tyto možnosti řídí velikost sekundárního diagramu a způsob, jakým jsou datové body rozděleny mezi oba diagramy.
Následující příklad vytváří graf Pie of Pie v nové prezentaci a zobrazuje hodnoty datových bodů jako popisky. Vlastnost second_pie_size nastavuje velikost sekundárního diagramu na 149 % hlavního diagramu. pie_split_by vybírá rozdělení založené na procentech a pie_split_position nastavuje práh na 53 %.
import aspose.slides as slides
import aspose.slides.charts as charts
with slides.Presentation() as presentation:
slide = presentation.slides[0]
chart = slide.shapes.add_chart(charts.ChartType.PIE_OF_PIE, 50, 50, 500, 400)
series = chart.chart_data.series[0]
# Zobrazte hodnoty a nakonfigurujte sekundární diagram.
series.labels.default_data_label_format.show_value = True
series_group = series.parent_series_group
series_group.second_pie_size = 149
series_group.pie_split_by = charts.PieSplitType.BY_PERCENTAGE
series_group.pie_split_position = 53
presentation.save("pie_of_pie.pptx", slides.export.SaveFormat.PPTX)
Vyberte kategorie pro sekundární diagram
Použijte vlastní rozdělení, pokud chcete seskupit konkrétní kategorie v sekundárním diagramu bez ohledu na jejich procentuální hodnoty. Například prodejní zpráva může zobrazovat Online a Events společně, aby čtenáři mohli porovnat tyto dva kanály, i když představují 35 % a 10 % celkových prodejů.
Nastavte pie_split_by na PieSplitType.CUSTOM a vyberte body pomocí pie_split_custom_points. Metoda add kolekce akceptuje buď index založený na nulovém základu v řadě, nebo objekt datového bodu. V tomto příkladu index 1 vybírá Online a bod na indexu 3 vybírá Events. Partners je také dočasně přidán, poté vyloučen pomocí remove.
import aspose.slides as slides
import aspose.slides.charts as charts
with slides.Presentation() as presentation:
slide = presentation.slides[0]
chart = slide.shapes.add_chart(charts.ChartType.PIE_OF_PIE, 50, 50, 600, 200)
# Nahraďte výchozí data prodejem podle kanálu.
workbook = chart.chart_data.chart_data_workbook
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
category_names = ["Retail", "Online", "Partners", "Events"]
values = [40, 35, 15, 10]
series_name_cell = workbook.get_cell(0, 0, 1, "Sales")
series = chart.chart_data.series.add(series_name_cell, chart.type)
for i, category_name in enumerate(category_names):
category_cell = workbook.get_cell(0, i + 1, 0, category_name)
chart.chart_data.categories.add(category_cell)
value_cell = workbook.get_cell(0, i + 1, 1, values[i])
series.data_points.add_data_point_for_pie_series(value_cell)
series.labels.default_data_label_format.show_value = True
series_group = series.parent_series_group
series_group.pie_split_by = charts.PieSplitType.CUSTOM
series_group.is_color_varied = True
# Vyberte Online podle jeho nulového indexu a Events podle jeho objektu datového bodu.
series_group.pie_split_custom_points.add(1)
series_group.pie_split_custom_points.add(series.data_points[3])
# Vyloučte Partners ze výběru bez odstranění jeho zdrojových dat.
series_group.pie_split_custom_points.add(2)
series_group.pie_split_custom_points.remove(series.data_points[2])
presentation.save("pie_of_pie_custom.pptx", slides.export.SaveFormat.PPTX)
Online (35) a Events (10) se objevují jako samostatné výseče v sekundárním diagramu. V primárním diagramu jsou reprezentovány jednou spojenou výsečí s hodnotou 45, spolu s Retail (40) a Partners (15). Odebrání Partners z vlastního výběru jej ponechává v primárním diagramu; neodstraňuje kategorii ani její hodnotu ze zdrojových dat grafu.
Následující obrázek zobrazuje uloženou prezentaci v PowerPointu:

Nastavte automatické barvy výsečí výsečového grafu
Aspose.Slides for Python via .NET může automaticky přiřadit různé barvy výsečím výsečového grafu. Následující příklad vytváří výsečový graf se středovým nadpisem a nahrazuje výchozí data třemi čtvrtletními kategoriemi a jejich hodnotami. Vlastnost show_value zobrazuje hodnoty 20, 50 a 30 jako popisky, zatímco is_color_varied umožňuje odlišnou barvu pro každou výseč.
import aspose.slides as slides
import aspose.slides.charts as charts
with slides.Presentation() as presentation:
slide = presentation.slides[0]
chart = slide.shapes.add_chart(charts.ChartType.PIE, 100, 100, 400, 400)
# Přidejte centrovaný nadpis grafu.
chart.chart_title.add_text_frame_for_overriding("Sample Title")
chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = slides.NullableBool.TRUE
chart.chart_title.height = 20
chart.has_title = True
# Nahraďte výchozí data pomocí prvního listu.
workbook = chart.chart_data.chart_data_workbook
worksheet_index = 0
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
category_names = ["First Qtr", "2nd Qtr", "3rd Qtr"]
values = [20, 50, 30]
series_name_cell = workbook.get_cell(worksheet_index, 0, 1, "Series 1")
series = chart.chart_data.series.add(series_name_cell, chart.type)
for i, category_name in enumerate(category_names):
category_cell = workbook.get_cell(worksheet_index, i + 1, 0, category_name)
chart.chart_data.categories.add(category_cell)
value_cell = workbook.get_cell(worksheet_index, i + 1, 1, values[i])
series.data_points.add_data_point_for_pie_series(value_cell)
# Zobrazte hodnoty a přiřaďte různé barvy výsečím.
series.labels.default_data_label_format.show_value = True
series.parent_series_group.is_color_varied = True
presentation.save("pie.pptx", slides.export.SaveFormat.PPTX)
Často kladené otázky
Jsou podporovány varianty Pie of Pie a Bar of Pie?
Ano, knihovna podporuje sekundární diagram pro výsečové grafy, včetně typů Pie of Pie a Bar of Pie.
Mohu exportovat jen samotný graf jako obrázek (například PNG)?
Ano, můžete exportovat samotný graf jako obrázek (například PNG) bez exportu celé prezentace.