Aangepaste taartdiagrammen in presentaties met Python

Overzicht

Dit artikel legt uit hoe u met taartdiagrammen in Aspose.Slides kunt werken. Het toont hoe u secundaire plot‑opties voor Pie of Pie‑ en Bar of Pie‑diagrammen kunt configureren en hoe u automatische kleuring van segmenten kunt inschakelen voor een standaard taartdiagram.

De voorbeelden richten zich op taken voor het aanpassen van diagrammen, zoals een diagram toevoegen aan een dia, de series‑ en labelinstellingen aanpassen, de standaard diagramgegevens vervangen door aangepaste categorieën en waarden, en de bijgewerkte presentatie opslaan.

Opties voor secundaire plot voor Pie of Pie en Bar of Pie grafieken

Aspose.Slides voor Python via .NET ondersteunt secundaire plot‑opties voor Pie of Pie‑ en Bar of Pie‑diagrammen. Deze opties bepalen de grootte van de secundaire plot en hoe gegevenspunten tussen de twee plots worden verdeeld.

Het volgende voorbeeld maakt een Pie of Pie‑diagram in een nieuwe presentatie en toont de waarden van gegevenspunten als labels. De second_pie_size eigenschap stelt de grootte van de secundaire plot in op 149% van de hoofdplot. pie_split_by selecteert procentgebaseerde splitsing, en pie_split_position stelt de drempel in op 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]

    # Waarde weergeven en de secundaire plot configureren.
    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)

Selecteer categorieën voor de secundaire plot

Gebruik aangepaste splitsing wanneer u specifieke categorieën in de secundaire plot wilt groeperen, ongeacht hun procentuele waarden. Bijvoorbeeld, een verkooprapport kan Online en Evenementen samen weergeven zodat lezers deze twee kanalen kunnen vergelijken, hoewel ze respectievelijk 35% en 10% van de totale verkoop uitmaken.

Stel pie_split_by in op PieSplitType.CUSTOM en selecteer de punten via pie_split_custom_points. De add methode van de collectie accepteert ofwel een nul‑gebaseerde index in de serie of een gegevenspuntobject. In dit voorbeeld selecteert index 1 Online en selecteert het punt op index 3 Events. Partners wordt ook tijdelijk toegevoegd, waarna het wordt uitgesloten met 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)

    # Vervang de standaardgegevens door verkopen per kanaal.
    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

    # Selecteer Online via zijn nulgebaseerde index en Events via zijn gegevenspuntobject.
    series_group.pie_split_custom_points.add(1)
    series_group.pie_split_custom_points.add(series.data_points[3])

    # Sluit Partners uit de selectie zonder de brongegevens te verwijderen.
    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) en Events (10) verschijnen als afzonderlijke segmenten in de secundaire plot. In de primaire plot worden ze weergegeven door één gecombineerd segment met een waarde van 45, samen met Retail (40) en Partners (15). Het verwijderen van Partners uit de aangepaste selectie houdt het in de primaire plot; het verwijdert de categorie of de waarde niet uit de brongegevens van het diagram.

De volgende afbeelding toont de opgeslagen presentatie in PowerPoint:

Pie of Pie-diagram met Online en Events in de secundaire plot en hun gecombineerde waarde van 45 in de primaire plot

Stel automatische kleuren voor taartdiagramsegmenten in

Aspose.Slides voor Python via .NET kan automatisch verschillende kleuren toewijzen aan segmenten van een taartdiagram. Het volgende voorbeeld maakt een taartdiagram met een gecentreerde titel en vervangt de standaardgegevens door drie kwartaalcategorieën en hun waarden. De show_value eigenschap toont de waarden 20, 50 en 30 als labels, terwijl is_color_varied een verschillende kleur voor elk segment inschakelt.

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)

    # Voeg een gecentreerde diagramtitel toe.
    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

    # Vervang de standaardgegevens met het eerste werkblad.
    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)

    # Toon waarden en ken verschillende kleuren toe aan de segmenten.
    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

Worden de varianten Pie of Pie en Bar of Pie ondersteund?

Ja, de bibliotheek ondersteunt een secundaire plot voor taartdiagrammen, inclusief de Pie of Pie‑ en Bar of Pie‑typen.

Kan ik alleen het diagram exporteren als afbeelding (bijvoorbeeld PNG)?

Ja, u kunt exporteer het diagram zelf als afbeelding (bijvoorbeeld PNG) zonder de volledige presentatie te exporteren.