Diagrammen maken of bijwerken in PowerPoint‑presentaties met Python

Overzicht

Dit artikel legt uit hoe je diagrammen maakt en aanpast met Aspose.Slides voor Python via .NET. Je leert hoe je een diagram aan een dia toevoegt, deze vult met gegevens en formatteert om aan je ontwerpvereisten te voldoen. De code‑voorbeelden behandelen het maken van presentaties en diagrammen, het configureren van reeksen, assen en legenden, en het integreren van diagramgeneratie in je toepassingen.

Diagram maken

Diagrammen helpen mensen om gegevens snel te visualiseren en inzichten te verkrijgen die niet meteen duidelijk zijn uit een tabel of spreadsheet.

Waarom diagrammen maken?

  • grote hoeveelheden gegevens aggregeren, condenseren of samenvatten op één dia in een presentatie;
  • patronen en trends in gegevens blootleggen;
  • de richting en momentum van gegevens in de tijd of ten opzichte van een specifieke meeteenheid afleiden;
  • uitbijters, afwijkingen, fouten en onsamenhangende gegevens opsporen;
  • complexe gegevens communiceren of presenteren.

In PowerPoint kun je diagrammen maken via de Insert-functie, die sjablonen biedt voor het ontwerpen van veel soorten diagrammen. Met Aspose.Slides kun je zowel reguliere diagrammen (gebaseerd op populaire diagramtypen) als aangepaste diagrammen maken.

Gegroepeerde kolomdiagrammen maken

Deze sectie legt uit hoe je gegroepeerde kolomdiagrammen maakt met Aspose.Slides voor Python via .NET. Je leert een presentatie initialiseren, een diagram toevoegen en elementen zoals titel, gegevens, reeksen, categorieën en opmaak aanpassen. Volg de onderstaande stappen om te zien hoe een standaard gegroepeerd kolomdiagram wordt gegenereerd:

  1. Maak een instantie van de Presentation klasse.
  2. Haal een referentie op naar een dia via de index.
  3. Voeg een diagram toe met enige gegevens en specificeer het type ChartType.CLUSTERED_COLUMN.
  4. Voeg een titel toe aan het diagram.
  5. Open het gegevenswerkblad van het diagram.
  6. Wis alle standaardreeksen en -categorieën.
  7. Voeg nieuwe reeksen en categorieën toe.
  8. Voeg nieuwe diagramgegevens toe voor de diagramreeksen.
  9. Pas een opvulkleur toe op de diagramreeksen.
  10. Voeg labels toe aan de diagramreeksen.
  11. Sla de aangepaste presentatie op als een PPTX‑bestand.

Deze Python‑code laat zien hoe je een gegroepeerd kolomdiagram maakt:

import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw

    # Instantieer de Presentation‑klasse die een PPTX‑bestand vertegenwoordigt.
    with slides.Presentation() as presentation:

        # Toegang tot de eerste dia.
        slide = presentation.slides[0]

        # Voeg een gegroepeerd kolomdiagram toe met de standaardgegevens.
        chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 300)

        # Stel de diagramtitel in.
        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

        # Stel de index van het diagramgegevensblad in.
        worksheet_index = 0

        # Haal het diagramgegevenswerkboek op.
        workbook = chart.chart_data.chart_data_workbook

        # Verwijder de standaard gegenereerde reeksen en categorieën.
        chart.chart_data.series.clear()
        chart.chart_data.categories.clear()

        # Voeg nieuwe reeksen toe.
        chart.chart_data.series.add(workbook.get_cell(worksheet_index, 0, 1, "Series 1"), chart.type)
        chart.chart_data.series.add(workbook.get_cell(worksheet_index, 0, 2, "Series 2"), chart.type)

        # Voeg nieuwe categorieën toe.
        chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 1, 0, "Category 1"))
        chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 2, 0, "Category 2"))
        chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 3, 0, "Category 3"))

        # Haal de eerste diagramreeks op.
        series = chart.chart_data.series[0]

        # Vul de reeksgegevens.
        series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 1, 20))
        series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 1, 50))
        series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 1, 30))

        # Stel de opvulkleur voor de reeks in.
        series.format.fill.fill_type = slides.FillType.SOLID
        series.format.fill.solid_fill_color.color = draw.Color.red

        # Haal de tweede diagramreeks op.
        series = chart.chart_data.series[1]

        # Vul de reeksgegevens.
        series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 2, 30))
        series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 2, 10))
        series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 2, 60))

        # Stel de opvulkleur voor de reeks in.
        series.format.fill.fill_type = slides.FillType.SOLID
        series.format.fill.solid_fill_color.color = draw.Color.green

        # Stel het eerste label in om de categorienaam weer te geven.
        label = series.data_points[0].label
        label.data_label_format.show_category_name = True

        label = series.data_points[1].label
        label.data_label_format.show_series_name = True

        # Stel de reeks in om de waarde voor het derde label weer te geven.
        label = series.data_points[2].label
        label.data_label_format.show_value = True
        label.data_label_format.show_series_name = True
        label.data_label_format.separator = "/"
                    
        # Sla de presentatie op schijf als een PPTX‑bestand.
        presentation.save("ClusteredColumnChart.pptx", slides.export.SaveFormat.PPTX)

Resultaat:

Het gegroepeerde kolomdiagram

Spreidingsdiagrammen maken

Spreidingsdiagrammen (ook wel scatter plots of x‑y‑grafieken genoemd) worden vaak gebruikt om patronen te zoeken of correlaties tussen twee variabelen te demonstreren.

Gebruik een spreidingsdiagram wanneer:

  • je gekoppelde numerieke gegevens hebt;
  • je twee variabelen hebt die goed bij elkaar passen;
  • je wilt bepalen of de twee variabelen met elkaar verband houden;
  • je een onafhankelijke variabele hebt die meerdere waarden heeft voor een afhankelijke variabele.

Deze Python‑code toont hoe je een spreidingsdiagram maakt met verschillende markers voor elke reeks:

import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw

# Instantieer de Presentation‑klasse.
with slides.Presentation() as presentation:

    # Toegang tot de eerste dia.
    slide = presentation.slides[0]

    # Maak het standaard spreidingsdiagram.
    chart = slide.shapes.add_chart(charts.ChartType.SCATTER_WITH_SMOOTH_LINES, 20, 20, 500, 300)

    # Stel de index van het diagramgegevensblad in.
    worksheet_index = 0

    # Haal het diagramgegevenswerkboek op.
    workbook = chart.chart_data.chart_data_workbook

    # Verwijder de standaardreeks.
    chart.chart_data.series.clear()

    # Voeg nieuwe reeksen toe.
    chart.chart_data.series.add(workbook.get_cell(worksheet_index, 1, 1, "Series 1"), chart.type)
    chart.chart_data.series.add(workbook.get_cell(worksheet_index, 1, 3, "Series 2"), chart.type)

    # Haal de eerste diagramreeks op.
    series = chart.chart_data.series[0]

    # Voeg een nieuw punt (1:3) toe aan de reeks.
    series.data_points.add_data_point_for_scatter_series(workbook.get_cell(worksheet_index, 2, 1, 1), workbook.get_cell(worksheet_index, 2, 2, 3))

    # Voeg een nieuw punt (2:10) toe.
    series.data_points.add_data_point_for_scatter_series(workbook.get_cell(worksheet_index, 3, 1, 2), workbook.get_cell(worksheet_index, 3, 2, 10))

    # Wijzig het type van de reeks.
    series.type = charts.ChartType.SCATTER_WITH_STRAIGHT_LINES_AND_MARKERS

    # Wijzig de marker van de diagramreeks.
    series.marker.size = 10
    series.marker.symbol = charts.MarkerStyleType.STAR

    # Haal de tweede diagramreeks op.
    series = chart.chart_data.series[1]

    # Voeg een nieuw punt (5:2) toe aan de diagramreeks.
    series.data_points.add_data_point_for_scatter_series(workbook.get_cell(worksheet_index, 2, 3, 5), workbook.get_cell(worksheet_index, 2, 4, 2))

    # Voeg een nieuw punt (3:1) toe.
    series.data_points.add_data_point_for_scatter_series(workbook.get_cell(worksheet_index, 3, 3, 3), workbook.get_cell(worksheet_index, 3, 4, 1))

    # Voeg een nieuw punt (2:2) toe.
    series.data_points.add_data_point_for_scatter_series(workbook.get_cell(worksheet_index, 4, 3, 2), workbook.get_cell(worksheet_index, 4, 4, 2))

    # Voeg een nieuw punt (5:1) toe.
    series.data_points.add_data_point_for_scatter_series(workbook.get_cell(worksheet_index, 5, 3, 5), workbook.get_cell(worksheet_index, 5, 4, 1))

    # Wijzig de marker van de diagramreeks.
    series.marker.size = 10
    series.marker.symbol = charts.MarkerStyleType.CIRCLE

    presentation.save("ScatterChart.pptx", slides.export.SaveFormat.PPTX)

Resultaat:

Het spreidingsdiagram

Taartdiagrammen maken

Taartdiagrammen worden het best gebruikt om de deel‑tot‑geheel‑relatie in gegevens weer te geven, vooral wanneer de gegevens categorische labels met numerieke waarden bevatten. Als je gegevens echter veel delen of labels bevatten, kun je beter een staafdiagram gebruiken.

  1. Maak een instantie van de Presentation klasse.
  2. Haal een referentie op naar een dia via de index.
  3. Voeg een diagram toe met standaardgegevens en specificeer het type ChartType.PIE.
  4. Open het gegevenswerkboek van het diagram (ChartDataWorkbook).
  5. Wis de standaardreeksen en -categorieën.
  6. Voeg nieuwe reeksen en categorieën toe.
  7. Voeg nieuwe diagramgegevens toe voor de diagramreeksen.
  8. Voeg nieuwe punten toe voor het diagram en pas aangepaste kleuren toe op de sectoren van het taartdiagram.
  9. Stel labels in voor de reeksen.
  10. Schakel leidende lijnen in voor de reeksenlabels.
  11. Stel de rotatiehoek in voor het taartdiagram.
  12. Sla de aangepaste presentatie op als een PPTX‑bestand.

Deze Python‑code laat zien hoe je een taartdiagram maakt:

import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw

# Instantieer de Presentation‑klasse die een PPTX‑bestand vertegenwoordigt.
with slides.Presentation() as presentation:

    # Toegang tot de eerste dia.
    slide = presentation.slides[0]

    # Voeg een diagram toe met de standaardgegevens.
    chart = slide.shapes.add_chart(charts.ChartType.PIE, 20, 20, 500, 300)

    # Stel de diagramtitel in.
    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

    # Stel de index van het diagramgegevensblad in.
    worksheet_index = 0

    # Haal het diagramgegevenswerkboek op.
    workbook = chart.chart_data.chart_data_workbook

    # Verwijder de standaard gegenereerde reeksen en categorieën.
    chart.chart_data.series.clear()
    chart.chart_data.categories.clear()

    # Voeg nieuwe categorieën toe.
    chart.chart_data.categories.add(workbook.get_cell(0, 1, 0, "First Qtr"))
    chart.chart_data.categories.add(workbook.get_cell(0, 2, 0, "2nd Qtr"))
    chart.chart_data.categories.add(workbook.get_cell(0, 3, 0, "3rd Qtr"))

    # Voeg een nieuwe reeks toe.
    series = chart.chart_data.series.add(workbook.get_cell(0, 0, 1, "Series 1"), chart.type)

    # Vul de reeksgegevens.
    series.data_points.add_data_point_for_pie_series(workbook.get_cell(worksheet_index, 1, 1, 20))
    series.data_points.add_data_point_for_pie_series(workbook.get_cell(worksheet_index, 2, 1, 50))
    series.data_points.add_data_point_for_pie_series(workbook.get_cell(worksheet_index, 3, 1, 30))

    # Stel de sector‑kleur in.
    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 = draw.Color.cyan

    # Stel de sector‑rand in.
    point.format.line.fill_format.fill_type = slides.FillType.SOLID
    point.format.line.fill_format.solid_fill_color.color = draw.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 = draw.Color.brown

    # Stel de sector‑rand in.
    point1.format.line.fill_format.fill_type = slides.FillType.SOLID
    point1.format.line.fill_format.solid_fill_color.color = draw.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 = draw.Color.coral

    # Stel de sector‑rand in.
    point2.format.line.fill_format.fill_type = slides.FillType.SOLID
    point2.format.line.fill_format.solid_fill_color.color = draw.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

    # Maak aangepaste labels voor elke categorie in de nieuwe reeks.
    label1 = series.data_points[0].label

    label1.data_label_format.show_value = True

    label2 = series.data_points[1].label
    label2.data_label_format.show_value = True
    label2.data_label_format.show_legend_key = True
    label2.data_label_format.show_percentage = True

    label3 = series.data_points[2].label
    label3.data_label_format.show_series_name = True
    label3.data_label_format.show_percentage = True

    # Laat de reeks leidende lijnen tonen voor het diagram.
    series.labels.default_data_label_format.show_leader_lines = True

    # Stel de rotatiehoek in voor de taartdiagramsectoren.
    chart.chart_data.series_groups[0].first_slice_angle = 180

    # Sla de presentatie op schijf als een PPTX‑bestand.
    presentation.save("PieChart.pptx", slides.export.SaveFormat.PPTX)

Resultaat:

Het taartdiagram

Lijndiagrammen maken

Lijndiagrammen (ook wel line graphs genoemd) worden het best gebruikt wanneer je veranderingen in waarden over tijd wilt laten zien. Met een lijndiagram kun je een grote hoeveelheid gegevens tegelijk vergelijken, wijzigingen en trends in de tijd volgen, anomalieën in gegevensreeksen benadrukken, enzovoort.

  1. Maak een instantie van de Presentation klasse.
  2. Haal een referentie op naar een dia via de index.
  3. Voeg een diagram toe met standaardgegevens en specificeer het type ChartType.LINE.
  4. Sla de aangepaste presentatie op als een PPTX‑bestand.

Deze Python‑code laat zien hoe je een lijndiagram maakt:

import aspose.slides as slides

with slides.Presentation() as presentation:
    line_chart = presentation.slides[0].shapes.add_chart(slides.charts.ChartType.LINE, 20, 20, 500, 300)
    
    presentation.save("LineChart.pptx", slides.export.SaveFormat.PPTX)

Standaard worden punten in een lijndiagram verbonden door rechte, doorlopende lijnen. Als je liever punten wilt verbinden met streeplijnen, kun je het gewenste dash‑type als volgt specificeren:

import aspose.slides as slides

with slides.Presentation() as presentation:
    line_chart = presentation.slides[0].shapes.add_chart(slides.charts.ChartType.LINE, 10, 50, 600, 350)

    for series in line_chart.chart_data.series:
        series.format.line.dash_style = slides.LineDashStyle.DASH

    presentation.save("LineChart.pptx", slides.export.SaveFormat.PPTX)

Resultaat:

Het lijndiagram

Boomkaartdiagrammen maken

Boomkaartdiagrammen worden het best gebruikt voor verkoopgegevens wanneer je de relatieve grootte van gegevenscategorieën wilt tonen en snel de aandacht wilt vestigen op items die grote bijdragers zijn binnen elke categorie.

  1. Maak een instantie van de Presentation klasse.
  2. Haal een referentie op naar een dia via de index.
  3. Voeg een diagram toe met standaardgegevens en specificeer het type ChartType.TREEMAP.
  4. Open het gegevenswerkboek van het diagram (ChartDataWorkbook).
  5. Wis de standaardreeksen en -categorieën.
  6. Voeg nieuwe reeksen en categorieën toe.
  7. Voeg nieuwe diagramgegevens toe voor de diagramreeksen.
  8. Sla de aangepaste presentatie op als een PPTX‑bestand.

Deze Python‑code laat zien hoe je een boomkaartdiagram maakt:

import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw

with slides.Presentation() as presentation:
    chart = presentation.slides[0].shapes.add_chart(charts.ChartType.TREEMAP, 20, 20, 500, 300)
    chart.chart_data.categories.clear()
    chart.chart_data.series.clear()

    workbook = chart.chart_data.chart_data_workbook
    workbook.clear(0)

    # Tak 1
    leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C1", "Leaf1"))
    leaf.grouping_levels.set_grouping_item(1, "Stem1")
    leaf.grouping_levels.set_grouping_item(2, "Branch1")

    chart.chart_data.categories.add(workbook.get_cell(0, "C2", "Leaf2"))

    leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C3", "Leaf3"))
    leaf.grouping_levels.set_grouping_item(1, "Stem2")

    chart.chart_data.categories.add(workbook.get_cell(0, "C4", "Leaf4"))

    # Tak 2
    leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C5", "Leaf5"))
    leaf.grouping_levels.set_grouping_item(1, "Stem3")
    leaf.grouping_levels.set_grouping_item(2, "Branch2")

    chart.chart_data.categories.add(workbook.get_cell(0, "C6", "Leaf6"))

    leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C7", "Leaf7"))
    leaf.grouping_levels.set_grouping_item(1, "Stem4")

    chart.chart_data.categories.add(workbook.get_cell(0, "C8", "Leaf8"))

    series = chart.chart_data.series.add(charts.ChartType.TREEMAP)
    series.labels.default_data_label_format.show_category_name = True
    series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D1", 4))
    series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D2", 5))
    series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D3", 3))
    series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D4", 6))
    series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D5", 9))
    series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D6", 9))
    series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D7", 4))
    series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D8", 3))

    series.parent_label_layout = charts.ParentLabelLayoutType.OVERLAPPING

    presentation.save("TreeMap.pptx", slides.export.SaveFormat.PPTX)

Resultaat:

Het boomkaartdiagram

Aandelen­diagrammen maken

Aandelen­diagrammen worden gebruikt om financiële gegevens zoals openings‑, hoog‑, laag‑ en slotkoersen weer te geven, zodat markttrends en volatiliteit geanalyseerd kunnen worden. Ze bieden essentiële inzichten in de prestaties van aandelen, wat beleggers en analisten helpt weloverwogen beslissingen te nemen.

  1. Maak een instantie van de Presentation klasse.
  2. Haal een referentie op naar een dia via de index.
  3. Voeg een diagram toe met standaardgegevens en specificeer het type ChartType.OPEN_HIGH_LOW_CLOSE.
  4. Open het gegevenswerkboek van het diagram (ChartDataWorkbook).
  5. Wis de standaardreeksen en -categorieën.
  6. Voeg nieuwe reeksen en categorieën toe.
  7. Voeg nieuwe diagramgegevens toe voor de diagramreeksen.
  8. Specificeer het formaat van de hoog‑laag‑lijnen.
  9. Sla de aangepaste presentatie op als een PPTX‑bestand.

Deze Python‑code laat zien hoe je een aandelen­diagram maakt:

import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw

with slides.Presentation() as presentation:
    chart = presentation.slides[0].shapes.add_chart(charts.ChartType.OPEN_HIGH_LOW_CLOSE, 20, 20, 500, 300, False)

    chart.chart_data.series.clear()
    chart.chart_data.categories.clear()

    workbook = chart.chart_data.chart_data_workbook

    chart.chart_data.categories.add(workbook.get_cell(0, 1, 0, "A"))
    chart.chart_data.categories.add(workbook.get_cell(0, 2, 0, "B"))
    chart.chart_data.categories.add(workbook.get_cell(0, 3, 0, "C"))

    chart.chart_data.series.add(workbook.get_cell(0, 0, 1, "Open"), chart.type)
    chart.chart_data.series.add(workbook.get_cell(0, 0, 2, "High"), chart.type)
    chart.chart_data.series.add(workbook.get_cell(0, 0, 3, "Low"), chart.type)
    chart.chart_data.series.add(workbook.get_cell(0, 0, 4, "Close"), chart.type)

    series = chart.chart_data.series[0]

    series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 1, 1, 72))
    series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 2, 1, 25))
    series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 3, 1, 38))

    series = chart.chart_data.series[1]
    series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 1, 2, 172))
    series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 2, 2, 57))
    series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 3, 2, 57))

    series = chart.chart_data.series[2]
    series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 1, 3, 12))
    series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 2, 3, 12))
    series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 3, 3, 13))

    series = chart.chart_data.series[3]
    series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 1, 4, 25))
    series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 2, 4, 38))
    series.data_points.add_data_point_for_stock_series(workbook.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

    for ser in chart.chart_data.series:
        ser.format.line.fill_format.fill_type = slides.FillType.NO_FILL

    presentation.save("StockChart.pptx", slides.export.SaveFormat.PPTX)

Resultaat:

Het aandelen­diagram

Box‑en‑whisker‑diagrammen maken

Box‑en‑whisker‑diagrammen worden gebruikt om de verdeling van gegevens weer te geven door belangrijke statistische maten, zoals de mediaan, kwartielen en mogelijke uitbijters, samen te vatten. Ze zijn bijzonder nuttig bij verkennende data‑analyse en statistische studies om snel de variabiliteit van gegevens te begrijpen en eventuele anomalieën te identificeren.

  1. Maak een instantie van de Presentation klasse.
  2. Haal een referentie op naar een dia via de index.
  3. Voeg een diagram toe met standaardgegevens en specificeer het type ChartType.BOX_AND_WHISKER.
  4. Open het gegevenswerkboek van het diagram (ChartDataWorkbook).
  5. Wis de standaardreeksen en -categorieën.
  6. Voeg nieuwe reeksen en categorieën toe.
  7. Voeg nieuwe diagramgegevens toe voor de diagramreeksen.
  8. Sla de aangepaste presentatie op als een PPTX‑bestand.

Deze Python‑code laat zien hoe je een box‑en‑whisker‑diagram maakt:

import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw

with slides.Presentation() as presentation:
    chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BOX_AND_WHISKER, 20, 20, 500, 300)
    chart.chart_data.categories.clear()
    chart.chart_data.series.clear()

    workbook = chart.chart_data.chart_data_workbook
    workbook.clear(0)

    chart.chart_data.categories.add(workbook.get_cell(0, "A1", "Category 1"))
    chart.chart_data.categories.add(workbook.get_cell(0, "A2", "Category 1"))
    chart.chart_data.categories.add(workbook.get_cell(0, "A3", "Category 1"))
    chart.chart_data.categories.add(workbook.get_cell(0, "A4", "Category 1"))
    chart.chart_data.categories.add(workbook.get_cell(0, "A5", "Category 1"))
    chart.chart_data.categories.add(workbook.get_cell(0, "A6", "Category 1"))

    series = chart.chart_data.series.add(charts.ChartType.BOX_AND_WHISKER)

    series.quartile_method = charts.QuartileMethodType.EXCLUSIVE
    series.show_mean_line = True
    series.show_mean_markers = True
    series.show_inner_points = True
    series.show_outlier_points = True

    series.data_points.add_data_point_for_box_and_whisker_series(workbook.get_cell(0, "B1", 15))
    series.data_points.add_data_point_for_box_and_whisker_series(workbook.get_cell(0, "B2", 41))
    series.data_points.add_data_point_for_box_and_whisker_series(workbook.get_cell(0, "B3", 16))
    series.data_points.add_data_point_for_box_and_whisker_series(workbook.get_cell(0, "B4", 10))
    series.data_points.add_data_point_for_box_and_whisker_series(workbook.get_cell(0, "B5", 23))
    series.data_points.add_data_point_for_box_and_whisker_series(workbook.get_cell(0, "B6", 16))

    presentation.save("BoxAndWhiskerChart.pptx", slides.export.SaveFormat.PPTX)

Funnel‑diagrammen maken

Funnel‑diagrammen worden gebruikt om processen met opeenvolgende stappen te visualiseren, waarbij het volume van gegevens afneemt naarmate het van de ene stap naar de andere gaat. Ze zijn bijzonder bruikbaar voor het analyseren van conversieratio’s, het identificeren van knelpunten en het volgen van de efficiëntie van verkoop‑ of marketingprocessen.

  1. Maak een instantie van de Presentation klasse.
  2. Haal een referentie op naar een dia via de index.
  3. Voeg een diagram toe met standaardgegevens en specificeer het type ChartType.FUNNEL.
  4. Sla de aangepaste presentatie op als een PPTX‑bestand.

Deze Python‑code laat zien hoe je een funnel‑diagram maakt:

import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw

with slides.Presentation() as presentation:
    chart = presentation.slides[0].shapes.add_chart(charts.ChartType.FUNNEL, 50, 50, 500, 400)
    chart.chart_data.categories.clear()
    chart.chart_data.series.clear()

    workbook = chart.chart_data.chart_data_workbook
    workbook.clear(0)

    chart.chart_data.categories.add(workbook.get_cell(0, "A1", "Category 1"))
    chart.chart_data.categories.add(workbook.get_cell(0, "A2", "Category 2"))
    chart.chart_data.categories.add(workbook.get_cell(0, "A3", "Category 3"))
    chart.chart_data.categories.add(workbook.get_cell(0, "A4", "Category 4"))
    chart.chart_data.categories.add(workbook.get_cell(0, "A5", "Category 5"))
    chart.chart_data.categories.add(workbook.get_cell(0, "A6", "Category 6"))

    series = chart.chart_data.series.add(charts.ChartType.FUNNEL)

    series.data_points.add_data_point_for_funnel_series(workbook.get_cell(0, "B1", 50))
    series.data_points.add_data_point_for_funnel_series(workbook.get_cell(0, "B2", 100))
    series.data_points.add_data_point_for_funnel_series(workbook.get_cell(0, "B3", 200))
    series.data_points.add_data_point_for_funnel_series(workbook.get_cell(0, "B4", 300))
    series.data_points.add_data_point_for_funnel_series(workbook.get_cell(0, "B5", 400))
    series.data_points.add_data_point_for_funnel_series(workbook.get_cell(0, "B6", 500))

    presentation.save("FunnelChart.pptx", slides.export.SaveFormat.PPTX)

Resultaat:

Het funnel‑diagram

Sunburst‑diagrammen maken

Sunburst‑diagrammen worden gebruikt om hiërarchische gegevens te visualiseren, waarbij niveaus als concentrische ringen worden weergegeven. Ze helpen de deel‑tot‑geheel‑relaties te illustreren en zijn ideaal voor het vertegenwoordigen van geneste categorieën en sub‑categorieën in een duidelijk, compact formaat.

  1. Maak een instantie van de Presentation klasse.
  2. Haal een referentie op naar een dia via de index.
  3. Voeg een diagram toe met standaardgegevens en specificeer het type ChartType.SUNBURST.
  4. Sla de aangepaste presentatie op als een PPTX‑bestand.

Deze Python‑code laat zien hoe je een sunburst‑diagram maakt:

import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw

with slides.Presentation() as presentation:
    chart = presentation.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 20, 20, 500, 300)
    chart.chart_data.categories.clear()
    chart.chart_data.series.clear()

    workbook = chart.chart_data.chart_data_workbook
    workbook.clear(0)

    # Tak 1
    leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C1", "Leaf1"))
    leaf.grouping_levels.set_grouping_item(1, "Stem1")
    leaf.grouping_levels.set_grouping_item(2, "Branch1")

    chart.chart_data.categories.add(workbook.get_cell(0, "C2", "Leaf2"))

    leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C3", "Leaf3"))
    leaf.grouping_levels.set_grouping_item(1, "Stem2")

    chart.chart_data.categories.add(workbook.get_cell(0, "C4", "Leaf4"))

    # Tak 2
    leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C5", "Leaf5"))
    leaf.grouping_levels.set_grouping_item(1, "Stem3")
    leaf.grouping_levels.set_grouping_item(2, "Branch2")

    chart.chart_data.categories.add(workbook.get_cell(0, "C6", "Leaf6"))

    leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C7", "Leaf7"))
    leaf.grouping_levels.set_grouping_item(1, "Stem4")

    chart.chart_data.categories.add(workbook.get_cell(0, "C8", "Leaf8"))

    series = chart.chart_data.series.add(charts.ChartType.SUNBURST)
    series.labels.default_data_label_format.show_category_name = True
    series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D1", 4))
    series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D2", 5))
    series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D3", 3))
    series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D4", 6))
    series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D5", 9))
    series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D6", 9))
    series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D7", 4))
    series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D8", 3))

    presentation.save("SunburstChart.pptx", slides.export.SaveFormat.PPTX)

Resultaat:

Het sunburst‑diagram

Histogram‑diagrammen maken

Histogram‑diagrammen worden gebruikt om de verdeling van numerieke gegevens weer te geven door waarden in bereik‑ of “bins” te groeperen. Ze zijn bijzonder nuttig om patronen zoals frequentie, scheefheid en spreiding te identificeren, en om uitbijters in een dataset te detecteren.

  1. Maak een instantie van de Presentation klasse.
  2. Haal een referentie op naar een dia via de index.
  3. Voeg een diagram toe met enige gegevens en specificeer het type ChartType.HISTOGRAM.
  4. Open het gegevenswerkboek van het diagram (ChartDataWorkbook).
  5. Wis de standaardreeksen en -categorieën.
  6. Voeg een nieuwe reeks toe en vul deze met datapunten. Een histogram heeft geen categorieën; de “bins” worden berekend op basis van de waarden.
  7. Sla de aangepaste presentatie op als een PPTX‑bestand.

Deze Python‑code laat zien hoe je een histogram‑diagram maakt:

import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw

with slides.Presentation() as presentation:
    chart = presentation.slides[0].shapes.add_chart(charts.ChartType.HISTOGRAM, 20, 20, 500, 300)
    chart.chart_data.categories.clear()
    chart.chart_data.series.clear()

    workbook = chart.chart_data.chart_data_workbook
    workbook.clear(0)

    series = chart.chart_data.series.add(charts.ChartType.HISTOGRAM)
    series.data_points.add_data_point_for_histogram_series(workbook.get_cell(0, "A1", 15))
    series.data_points.add_data_point_for_histogram_series(workbook.get_cell(0, "A2", -41))
    series.data_points.add_data_point_for_histogram_series(workbook.get_cell(0, "A3", 16))
    series.data_points.add_data_point_for_histogram_series(workbook.get_cell(0, "A4", 10))
    series.data_points.add_data_point_for_histogram_series(workbook.get_cell(0, "A5", -23))
    series.data_points.add_data_point_for_histogram_series(workbook.get_cell(0, "A6", 16))

    chart.axes.horizontal_axis.aggregation_type = charts.AxisAggregationType.AUTOMATIC

    presentation.save("HistogramChart.pptx", slides.export.SaveFormat.PPTX)

Resultaat:

Het histogram‑diagram

Radar‑diagrammen maken

Radar‑diagrammen worden gebruikt om multivariabele gegevens in een tweedimensionaal formaat weer te geven, waardoor verschillende variabelen tegelijk gemakkelijk te vergelijken zijn. Ze zijn bijzonder geschikt om patronen, sterktes en zwaktes over meerdere prestatie‑indicatoren of attributen te identificeren.

  1. Maak een instantie van de Presentation klasse.
  2. Haal een referentie op naar een dia via de index.
  3. Voeg een diagram toe met enige gegevens en specificeer het type ChartType.RADAR.
  4. Sla de aangepaste presentatie op als een PPTX‑bestand.

Deze Python‑code laat zien hoe je een radar‑diagram maakt:

import aspose.slides as slides

with slides.Presentation() as presentation:
    presentation.slides[0].shapes.add_chart(slides.charts.ChartType.RADAR, 20, 20, 500, 300)
    presentation.save("RadarChart.pptx", slides.export.SaveFormat.PPTX)

Resultaat:

Het radar‑diagram

Multi‑categorie‑diagrammen maken

Multi‑categorie‑diagrammen worden gebruikt om gegevens weer te geven die uit meer dan één categorische groepering bestaan, zodat je waarden over meerdere dimensies tegelijk kunt vergelijken. Ze zijn bijzonder handig wanneer je trends en relaties binnen complexe, meerlagige datasets moet analyseren.

  1. Maak een instantie van de Presentation klasse.
  2. Haal een referentie op naar een dia via de index.
  3. Voeg een diagram toe met standaardgegevens en specificeer het type ChartType.CLUSTERED_COLUMN.
  4. Open het gegevenswerkboek van het diagram (ChartDataWorkbook).
  5. Wis de standaardreeksen en -categorieën.
  6. Voeg nieuwe reeksen en categorieën toe.
  7. Voeg nieuwe diagramgegevens toe voor de diagramreeksen.
  8. Sla de aangepaste presentatie op als een PPTX‑bestand.

Deze Python‑code laat zien hoe je een multi‑categorie‑diagram maakt:

import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw

with slides.Presentation() as presentation:
    slide = presentation.slides[0]

    chart = presentation.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 300)
    chart.chart_data.series.clear()
    chart.chart_data.categories.clear()

    workbook = chart.chart_data.chart_data_workbook
    workbook.clear(0)

    worksheet_index = 0

    category = chart.chart_data.categories.add(workbook.get_cell(0, "c2", "A"))
    category.grouping_levels.set_grouping_item(1, "Group1")
    category = chart.chart_data.categories.add(workbook.get_cell(0, "c3", "B"))

    category = chart.chart_data.categories.add(workbook.get_cell(0, "c4", "C"))
    category.grouping_levels.set_grouping_item(1, "Group2")
    category = chart.chart_data.categories.add(workbook.get_cell(0, "c5", "D"))

    category = chart.chart_data.categories.add(workbook.get_cell(0, "c6", "E"))
    category.grouping_levels.set_grouping_item(1, "Group3")
    category = chart.chart_data.categories.add(workbook.get_cell(0, "c7", "F"))

    category = chart.chart_data.categories.add(workbook.get_cell(0, "c8", "G"))
    category.grouping_levels.set_grouping_item(1, "Group4")
    category = chart.chart_data.categories.add(workbook.get_cell(0, "c9", "H"))

    # Voeg een reeks toe.
    series = chart.chart_data.series.add(workbook.get_cell(0, "D1", "Series 1"), charts.ChartType.CLUSTERED_COLUMN)

    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D2", 10))
    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D3", 20))
    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D4", 30))
    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D5", 40))
    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D6", 50))
    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D7", 60))
    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D8", 70))
    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D9", 80))

    # Sla de presentatie op met het diagram.
    presentation.save("MultiCategoryChart.pptx", slides.export.SaveFormat.PPTX)

Resultaat:

Het multi‑categorie‑diagram

Kaart‑diagrammen maken

Kaart‑diagrammen worden gebruikt om geografische gegevens te visualiseren door informatie toe te wijzen aan specifieke locaties zoals landen, provincies of steden. Ze zijn bijzonder nuttig voor het analyseren van regionale trends, demografische gegevens en ruimtelijke verdelingen op een duidelijke, visueel aantrekkelijke manier.

Deze Python‑code laat zien hoe je een kaart‑diagram maakt:

import aspose.slides as slides

with slides.Presentation() as presentation:
    chart = presentation.slides[0].shapes.add_chart(slides.charts.ChartType.MAP, 20, 20, 500, 300)
    presentation.save("mapChart.pptx", slides.export.SaveFormat.PPTX)

Resultaat:

Het kaart‑diagram

Combinatie‑diagrammen maken

Een combinatie‑diagram (of combo‑diagram) combineert twee of meer diagramtypen in één grafiek. Dit diagram stelt je in staat om verschillen tussen twee of meer datasets te benadrukken, vergelijken of onderzoeken, zodat je relaties ertussen kunt identificeren.

Het combinatie‑diagram

De volgende Python‑code laat zien hoe je het bovenstaande combinatie‑diagram in een PowerPoint‑presentatie maakt:

import aspose.slides.charts as charts
import aspose.pydrawing as draw
import aspose.slides as slides

def create_combo_chart():
    with slides.Presentation() as presentation:
        chart = create_chart_with_first_series(presentation.slides[0])

        add_second_series_to_chart(chart)
        add_third_series_to_chart(chart)

        set_primary_axes_format(chart)
        set_secondary_axes_format(chart)

        presentation.save("combo-chart.pptx", slides.export.SaveFormat.PPTX)


def create_chart_with_first_series(slide):
    chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400)

    # Stel de diagramtitel in.
    chart.has_title = True
    chart.chart_title.add_text_frame_for_overriding("Chart Title")
    chart.chart_title.overlay = False
    title_paragraph = chart.chart_title.text_frame_for_overriding.paragraphs[0]
    title_format = title_paragraph.paragraph_format.default_portion_format

    title_format.font_bold = slides.NullableBool.FALSE
    title_format.font_height = 18

    # Stel de diagramlegende in.
    chart.legend.position = charts.LegendPositionType.BOTTOM
    chart.legend.text_format.portion_format.font_height = 12

    # Verwijder de standaard gegenereerde reeksen en categorieën.
    chart.chart_data.series.clear()
    chart.chart_data.categories.clear()

    worksheet_index = 0
    workbook = chart.chart_data.chart_data_workbook

    # Voeg nieuwe categorieën toe.
    chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 1, 0, "Category 1"))
    chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 2, 0, "Category 2"))
    chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 3, 0, "Category 3"))
    chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 4, 0, "Category 4"))

    # Voeg de eerste reeks toe.
    series_name_cell = workbook.get_cell(worksheet_index, 0, 1, "Series 1")
    series = chart.chart_data.series.add(series_name_cell, chart.type)

    series.parent_series_group.overlap = -25
    series.parent_series_group.gap_width = 220

    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 1, 4.3))
    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 1, 2.5))
    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 1, 3.5))
    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 4, 1, 4.5))

    return chart


def add_second_series_to_chart(chart):
    workbook = chart.chart_data.chart_data_workbook
    worksheet_index = 0

    series_name_cell = workbook.get_cell(worksheet_index, 0, 2, "Series 2")
    series = chart.chart_data.series.add(series_name_cell, charts.ChartType.CLUSTERED_COLUMN)

    series.parent_series_group.overlap = -25
    series.parent_series_group.gap_width = 220

    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 2, 2.4))
    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 2, 4.4))
    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 2, 1.8))
    series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 4, 2, 2.8))


def add_third_series_to_chart(chart):
    workbook = chart.chart_data.chart_data_workbook
    worksheet_index = 0

    series_name_cell = workbook.get_cell(worksheet_index, 0, 3, "Series 3")
    series = chart.chart_data.series.add(series_name_cell, charts.ChartType.LINE)

    series.data_points.add_data_point_for_line_series(workbook.get_cell(worksheet_index, 1, 3, 2.0))
    series.data_points.add_data_point_for_line_series(workbook.get_cell(worksheet_index, 2, 3, 2.0))
    series.data_points.add_data_point_for_line_series(workbook.get_cell(worksheet_index, 3, 3, 3.0))
    series.data_points.add_data_point_for_line_series(workbook.get_cell(worksheet_index, 4, 3, 5.0))

    series.plot_on_second_axis = True


def set_primary_axes_format(chart):
    # Stel de horizontale as in.
    horizontal_axis = chart.axes.horizontal_axis
    horizontal_axis.text_format.portion_format.font_height = 12.0
    horizontal_axis.format.line.fill_format.fill_type = slides.FillType.NO_FILL

    set_axis_title(horizontal_axis, "X Axis")

    # Stel de verticale as in.
    vertical_axis = chart.axes.vertical_axis
    vertical_axis.text_format.portion_format.font_height = 12.0
    vertical_axis.format.line.fill_format.fill_type = slides.FillType.NO_FILL

    set_axis_title(vertical_axis, "Y Axis 1")

    # Stel de kleur van de verticale grote rasterlijnen in.
    major_grid_lines_format = vertical_axis.major_grid_lines_format.line.fill_format
    major_grid_lines_format.fill_type = slides.FillType.SOLID
    major_grid_lines_format.solid_fill_color.color = draw.Color.from_argb(217, 217, 217)


def set_secondary_axes_format(chart):
    # Stel de secundaire horizontale as in.
    secondary_horizontal_axis = chart.axes.secondary_horizontal_axis
    secondary_horizontal_axis.position = charts.AxisPositionType.BOTTOM
    secondary_horizontal_axis.cross_type = charts.CrossesType.MAXIMUM
    secondary_horizontal_axis.is_visible = False
    secondary_horizontal_axis.major_grid_lines_format.line.fill_format.fill_type = slides.FillType.NO_FILL
    secondary_horizontal_axis.minor_grid_lines_format.line.fill_format.fill_type = slides.FillType.NO_FILL

    # Stel de secundaire verticale as in.
    secondary_vertical_axis = chart.axes.secondary_vertical_axis
    secondary_vertical_axis.position = charts.AxisPositionType.RIGHT
    secondary_vertical_axis.text_format.portion_format.font_height = 12.0
    secondary_vertical_axis.format.line.fill_format.fill_type = slides.FillType.NO_FILL
    secondary_vertical_axis.major_grid_lines_format.line.fill_format.fill_type = slides.FillType.NO_FILL
    secondary_vertical_axis.minor_grid_lines_format.line.fill_format.fill_type = slides.FillType.NO_FILL

    set_axis_title(secondary_vertical_axis, "Y Axis 2")


def set_axis_title(axis, axis_title):
    axis.has_title = True
    axis.title.overlay = False
    title_portion_format = axis.title.add_text_frame_for_overriding(axis_title).paragraphs[0].paragraph_format.default_portion_format
    title_portion_format.font_bold = slides.NullableBool.FALSE
    title_portion_format.font_height = 12.0

Diagrammen bijwerken

Aspose.Slides voor Python via .NET stelt je in staat diagramgegevens, opmaak en styling bij te werken zodat je PowerPoint‑presentaties actueel blijven.

  1. Maak een instantie van de Presentation klasse om de presentatie met het diagram te openen.
  2. Haal een referentie op naar een dia via de index.
  3. Doorloop alle vormen om het diagram te vinden.
  4. Open het gegevenswerkblad van het diagram.
  5. Wijzig de diagramgegevensreeks door de reekswaarden aan te passen.
  6. Voeg een nieuwe reeks toe en vul deze met gegevens.
  7. Sla de aangepaste presentatie op als een PPTX‑bestand.

Deze Python‑code laat zien hoe je een diagram bijwerkt:

import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw

chart_name = "My chart"

# Instantieer de Presentation-klasse die een PPTX-bestand vertegenwoordigt.
with slides.Presentation("ExistingChart.pptx") as presentation:

    # Toegang tot de eerste dia.
    slide = presentation.slides[0]

    for shape in slide.shapes:
        if isinstance(shape, charts.Chart) and shape.name == chart_name:
            chart = shape

            # Stel de index van het diagramgegevensblad in.
            worksheet_index = 0

            # Haal het diagramgegevenswerkboek op.
            workbook = chart.chart_data.chart_data_workbook

            # Wijzig de diagramcategoriënamen.
            workbook.get_cell(worksheet_index, 1, 0, "Modified Category 1")
            workbook.get_cell(worksheet_index, 2, 0, "Modified Category 2")

            # Haal de eerste diagramreeks op.
            series = chart.chart_data.series[0]

            # Werk de reeksgegevens bij.
            workbook.get_cell(worksheet_index, 0, 1, "New_Series1")  # De naam van de reeks aanpassen.
            series.data_points[0].value.data = 90
            series.data_points[1].value.data = 123
            series.data_points[2].value.data = 44

            # Haal de tweede diagramreeks op.
            series = chart.chart_data.series[1]

            # Werk de reeksgegevens bij.
            workbook.get_cell(worksheet_index, 0, 2, "New_Series2")  # De naam van de reeks aanpassen.
            series.data_points[0].value.data = 23
            series.data_points[1].value.data = 67
            series.data_points[2].value.data = 99

            # Voeg een nieuwe reeks toe.
            series = chart.chart_data.series.add(workbook.get_cell(worksheet_index, 0, 3, "Series 3"), chart.type)

            # Vul de reeksgegevens.
            series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 3, 20))
            series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 3, 50))
            series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 3, 30))

            chart.type = charts.ChartType.CLUSTERED_CYLINDER

            # Sla de presentatie op met het diagram.
            presentation.save("ModifiedChart.pptx", slides.export.SaveFormat.PPTX)

Gegevensbereik voor een diagram instellen

Aspose.Slides voor Python via .NET maakt het mogelijk een specifiek werkbladbereik te gebruiken als gegevensbron voor een diagram. Hiermee bepaal je welke cellen de reeksen en categorieën van het diagram leveren en kun je het diagram bijwerken om wijzigingen in het werkblad te weerspiegelen.

  1. Maak een instantie van de Presentation klasse om de presentatie met het diagram te openen.
  2. Haal een referentie op naar een dia via de index.
  3. Doorloop alle vormen om het diagram te vinden.
  4. Open de diagramgegevens en stel het bereik in.
  5. Sla de aangepaste presentatie op als een PPTX‑bestand.

Deze Python‑code laat zien hoe je het gegevensbereik voor een diagram instelt:

import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw

chart_name = "My chart"

# Instantieer de Presentation-klasse die een PPTX-bestand vertegenwoordigt.
with slides.Presentation("ExistingChart.pptx") as presentation:

    # Toegang tot de eerste dia.
    slide = presentation.slides[0]

    for shape in slide.shapes:
        if isinstance(shape, charts.Chart) and shape.name == chart_name:
            chart = shape
            chart.chart_data.set_range("Sheet1!A1:B4")

    presentation.save("DataRange.pptx", slides.export.SaveFormat.PPTX)

Standaardmarkers in diagrammen gebruiken

Wanneer je standaardmarkers in diagrammen gebruikt, krijgt elke diagramreeks automatisch een ander markersymbool.

Deze Python‑code laat zien hoe je automatisch een markersymbool voor een diagramreeks instelt:

import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw

with slides.Presentation() as presentation:
    slide = presentation.slides[0]
    chart = slide.shapes.add_chart(charts.ChartType.LINE_WITH_MARKERS, 10, 10, 400, 400)

    chart.chart_data.series.clear()
    chart.chart_data.categories.clear()

    workbook = chart.chart_data.chart_data_workbook

    series = chart.chart_data.series.add(workbook.get_cell(0, 0, 1, "Series 1"), chart.type)

    chart.chart_data.categories.add(workbook.get_cell(0, 1, 0, "C1"))
    series.data_points.add_data_point_for_line_series(workbook.get_cell(0, 1, 1, 24))

    chart.chart_data.categories.add(workbook.get_cell(0, 2, 0, "C2"))
    series.data_points.add_data_point_for_line_series(workbook.get_cell(0, 2, 1, 23))

    chart.chart_data.categories.add(workbook.get_cell(0, 3, 0, "C3"))
    series.data_points.add_data_point_for_line_series(workbook.get_cell(0, 3, 1, -10))

    chart.chart_data.categories.add(workbook.get_cell(0, 4, 0, "C4"))
    series.data_points.add_data_point_for_line_series(workbook.get_cell(0, 4, 1, None))

    series2 = chart.chart_data.series.add(workbook.get_cell(0, 0, 2, "Series 2"), chart.type)

    # Vul de gegevens van de reeks.
    series2.data_points.add_data_point_for_line_series(workbook.get_cell(0, 1, 2, 30))
    series2.data_points.add_data_point_for_line_series(workbook.get_cell(0, 2, 2, 10))
    series2.data_points.add_data_point_for_line_series(workbook.get_cell(0, 3, 2, 60))
    series2.data_points.add_data_point_for_line_series(workbook.get_cell(0, 4, 2, 40))

    chart.has_legend = True
    chart.legend.overlay = False

    presentation.save("DefaultMarkersInChart.pptx", slides.export.SaveFormat.PPTX)

FAQ

Welke diagramtypen worden ondersteund door Aspose.Slides voor Python via .NET?

Aspose.Slides voor Python via .NET ondersteunt een breed scala aan diagramtypen, waaronder staaf, lijn, taart, gebied, spreiding, histogram, radar en nog veel meer. Deze flexibiliteit stelt je in staat het meest geschikte diagramtype te kiezen voor je data‑visualisatiebehoeften.

Hoe voeg ik een nieuw diagram toe aan een dia?

Om een diagram toe te voegen, maak je eerst een instantie van de Presentation klasse, haal je de gewenste dia op via de index en roep je vervolgens de methode aan om een diagram toe te voegen, waarbij je het diagramtype en de initiële gegevens opgeeft. Dit proces integreert het diagram direct in je presentatie.

Hoe kan ik de gegevens in een diagram bijwerken?

Je kunt de gegevens van een diagram bijwerken door toegang te krijgen tot het gegevenswerkboek (ChartDataWorkbook), de standaardreeksen en -categorieën te wissen en vervolgens je eigen gegevens toe te voegen. Hiermee kun je het diagram programmatically vernieuwen zodat het de nieuwste gegevens weergeeft.

Is het mogelijk het uiterlijk van het diagram aan te passen?

Ja, Aspose.Slides voor Python via .NET biedt uitgebreide aanpassingsmogelijkheden. Je kunt kleuren, lettertypen, labels, legenden en andere opmaak‑elementen wijzigen om het uiterlijk van het diagram af te stemmen op je specifieke ontwerpvereisten.