Dostosuj wykresy kołowe w prezentacjach przy użyciu Pythona
Przegląd
Ten artykuł wyjaśnia, jak pracować z wykresami kołowymi w Aspose.Slides. Pokazuje, jak skonfigurować opcje wykresu drugorzędnego dla wykresów Pie of Pie i Bar of Pie oraz jak włączyć automatyczne kolorowanie wycinków dla standardowego wykresu kołowego.
Przykłady koncentrują się na zadaniach związanych z dostosowywaniem wykresu, takich jak dodawanie wykresu do slajdu, modyfikowanie ustawień serii i etykiet, zamiana domyślnych danych wykresu na własne kategorie i wartości oraz zapisywanie zaktualizowanej prezentacji.
Opcje drugiego wykresu dla wykresów Pie of Pie i Bar of Pie
Aspose.Slides dla Pythona via .NET obsługuje opcje wykresu drugorzędnego dla wykresów Pie of Pie i Bar of Pie. Opcje te kontrolują rozmiar wykresu drugorzędnego oraz sposób podziału punktów danych pomiędzy dwa wykresy.
Poniższy przykład tworzy wykres Pie of Pie w nowej prezentacji i wyświetla wartości punktów danych jako etykiety. Właściwość second_pie_size ustawia rozmiar wykresu drugorzędnego na 149% wykresu głównego. pie_split_by wybiera podział oparty na procentach, a pie_split_position ustawia próg 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]
# Wyświetl wartości i skonfiguruj wykres drugorzędny.
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)
Wybierz kategorie dla wykresu drugorzędnego
Użyj niestandardowego podziału, gdy chcesz pogrupować określone kategorie w wykresie drugorzędnym niezależnie od ich wartości procentowych. Na przykład raport sprzedaży może pokazywać Online i Events razem, aby czytelnicy mogli porównać te dwa kanały, mimo że stanowią 35% i 10% całkowitej sprzedaży.
Ustaw pie_split_by na PieSplitType.CUSTOM i wybierz punkty za pomocą pie_split_custom_points. Metoda add kolekcji przyjmuje albo indeks zerowy w serii, albo obiekt punktu danych. W tym przykładzie indeks 1 wybiera Online, a punkt o indeksie 3 wybiera Events. Partners jest również dodany tymczasowo, a następnie wykluczony przy użyciu 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)
# Zamień domyślne dane na sprzedaż według kanału.
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
# Wybierz Online według indeksu zerowego i Events według obiektu punktu danych.
series_group.pie_split_custom_points.add(1)
series_group.pie_split_custom_points.add(series.data_points[3])
# Wyklucz Partners z wyboru bez usuwania jego danych źródłowych.
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) i Events (10) pojawiają się jako oddzielne wycinki w wykresie drugorzędnym. W wykresie głównym są reprezentowane jako jeden połączony wycinek o wartości 45, obok Retail (40) i Partners (15). Usunięcie Partners z niestandardowego wyboru pozostawia go w wykresie głównym; nie usuwa kategorii ani jej wartości z danych źródłowych wykresu.
Na poniższym obrazku przedstawiona jest zapisana prezentacja w PowerPoint:

Ustaw automatyczne kolory wycinków wykresu kołowego
Aspose.Slides dla Pythona via .NET może automatycznie przydzielać różne kolory wycinkom wykresu kołowego. Poniższy przykład tworzy wykres kołowy z wyśrodkowanym tytułem i zamienia domyślne dane na trzy kwartalne kategorie oraz ich wartości. Właściwość show_value wyświetla wartości 20, 50 i 30 jako etykiety, natomiast is_color_varied umożliwia nadanie odrębnego koloru każdemu wycinkowi.
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)
# Dodaj wyśrodkowany tytuł wykresu.
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
# Zamień domyślne dane przy użyciu pierwszego arkusza.
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)
# Pokaż wartości i przypisz różne kolory wycinkom.
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)
FAQ
Czy warianty Pie of Pie i Bar of Pie są obsługiwane?
Tak, biblioteka obsługuje wykres drugorzędny dla wykresów kołowych, w tym typy Pie of Pie i Bar of Pie.
Czy mogę wyeksportować sam wykres jako obraz (na przykład PNG)?
Tak, możesz wyeksportować sam wykres jako obraz (np. PNG) bez eksportowania całej prezentacji.