Diagrammserien in Python verwalten
Übersicht
Dieser Artikel beschreibt die Rolle von ChartSeries in Aspose.Slides für Python und fokussiert darauf, wie Daten innerhalb von Präsentationen strukturiert und visualisiert werden. Diese Objekte bilden die grundlegenden Elemente, die einzelne Sätze von Datenpunkten, Kategorien und Anzeigeparametern in einem Diagramm definieren. Durch die Arbeit mit ChartSeries können Entwickler Datenquellen nahtlos integrieren und die vollständige Kontrolle darüber behalten, wie Informationen angezeigt werden, was zu dynamischen, datengetriebenen Präsentationen führt, die Erkenntnisse und Analysen klar vermitteln.
Eine Serie ist eine Zeile oder Spalte von Zahlen, die in einem Diagramm dargestellt werden.

Serienüberlappung festlegen
Die ChartSeries.overlap Eigenschaft steuert, wie Balken und Säulen in einem 2D‑Diagramm überlappen, indem ein Bereich von -100 bis 100 angegeben wird. Da diese Eigenschaft der Seriengruppe und nicht den einzelnen Diagrammserien zugeordnet ist, ist sie auf Serienebene schreibgeschützt. Um Überlappungswerte zu konfigurieren, verwenden Sie die parent_series_group.overlap Lese‑/Schreib‑Eigenschaft, die die angegebene Überlappung auf alle Serien in dieser Gruppe anwendet.
Unten finden Sie ein Python‑Beispiel, das zeigt, wie eine Präsentation erstellt, ein gruppiertes Säulendiagramm hinzugefügt, die erste Diagrammserie abgerufen, die Überlappungseinstellung konfiguriert und das Ergebnis als PPTX‑Datei gespeichert wird:
import aspose.slides as slides
import aspose.slides.charts as charts
series_overlap = 30
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Fügt ein gruppiertes Säulendiagramm mit Standarddaten hinzu.
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 200)
series = chart.chart_data.series[0]
if series.overlap == 0:
# Setzt die Serienüberlappung.
series.parent_series_group.overlap = series_overlap
# Speichert die Präsentationsdatei auf dem Datenträger.
presentation.save("series_overlap.pptx", slides.export.SaveFormat.PPTX)
Das Ergebnis:

Füllfarbe der Serie ändern
Aspose.Slides erleichtert das Anpassen der Füllfarben von Diagrammserien, sodass Sie bestimmte Datenpunkte hervorheben und optisch ansprechende Diagramme erstellen können. Dies wird über das Format Objekt erreicht, das verschiedene Fülltypen, Farbkonfigurationen und weitere erweiterte Stiloptionen unterstützt. Nachdem Sie ein Diagramm zu einer Folie hinzugefügt und die gewünschte Serie abgerufen haben, erhalten Sie die Serie und wenden die passende Füllfarbe an. Neben einfarbigen Füllungen können Sie auch Verlauf‑ oder Muster‑Füllungen für mehr gestalterische Flexibilität nutzen. Sobald Sie die Farben nach Ihren Anforderungen festgelegt haben, speichern Sie die Präsentation, um das aktualisierte Aussehen zu finalisieren.
Das folgende Python‑Codebeispiel zeigt, wie Sie die Farbe der ersten Serie ändern:
import aspose.slides as slides
import aspose.slides.charts as charts
import aspose.pydrawing as draw
series_color = draw.Color.blue
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Fügt ein gruppiertes Säulendiagramm mit Standarddaten hinzu.
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 200)
# Setzt die Farbe der ersten Serie.
series = chart.chart_data.series[0]
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = series_color
# Speichert die Präsentationsdatei auf dem Datenträger.
presentation.save("series_color.pptx", slides.export.SaveFormat.PPTX)
Das Ergebnis:

Eine Serie umbenennen
Aspose.Slides bietet einen einfachen Weg, die Namen von Diagrammserien zu ändern, sodass Daten klar und sinnvoll beschriftet werden können. Durch den Zugriff auf die entsprechende Arbeitsblattzelle in den Diagrammdaten können Entwickler anpassen, wie die Daten dargestellt werden. Diese Anpassung ist besonders nützlich, wenn Seriennamen basierend auf dem Kontext der Daten aktualisiert oder geklärt werden müssen. Nach dem Umbenennen der Serie kann die Präsentation gespeichert werden, um die Änderungen zu übernehmen.
Unten finden Sie einen Python‑Code‑Ausschnitt, der diesen Vorgang demonstriert.
import aspose.slides as slides
import aspose.slides.charts as charts
series_name = "New name"
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Fügt ein gruppiertes Säulendiagramm mit Standarddaten hinzu.
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 200)
# Setzt den Namen der ersten Serie.
series_cell = chart.chart_data.chart_data_workbook.get_cell(0, 0, 1)
series_cell.value = series_name
# Speichert die Präsentationsdatei auf dem Datenträger.
presentation.save("series_name.pptx", slides.export.SaveFormat.PPTX)
Das folgende Python‑Code zeigt eine alternative Methode, den Seriennamen zu ändern:
import aspose.slides as slides
import aspose.slides.charts as charts
series_name = "New name"
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Fügt ein gruppiertes Säulendiagramm mit Standarddaten hinzu.
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 200)
series = chart.chart_data.series[0]
# Setzt den Namen der ersten Serie.
series.name.as_cells[0].value = series_name
# Speichert die Präsentationsdatei auf dem Datenträger.
presentation.save("series_name.pptx", slides.export.SaveFormat.PPTX)
Das Ergebnis:

Automatische Füllfarbe der Serie abrufen
Aspose.Slides für Python ermöglicht das Abrufen der automatischen Füllfarbe für Diagrammserien innerhalb eines Diagrammbereichs. Nachdem Sie eine Instanz der Presentation Klasse erstellt haben, können Sie über den Index auf die gewünschte Folie zugreifen und dann ein Diagramm Ihres bevorzugten Typs (z. B. ChartType.CLUSTERED_COLUMN) hinzufügen. Durch den Zugriff auf die Serien im Diagramm können Sie die automatische Füllfarbe erhalten.
Der untenstehende Python‑Code demonstriert diesen Vorgang im Detail.
import aspose.slides as slides
import aspose.slides.charts as charts
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Fügt ein gruppiertes Säulendiagramm mit Standarddaten hinzu.
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 200)
for i in range(len(chart.chart_data.series)):
# Holt die Füllfarbe der Serie.
color = chart.chart_data.series[i].get_automatic_series_color()
print(f"Series {i} color: {color.name}")
Beispielausgabe:
Series 0 color: ff4f81bd
Series 1 color: ffc0504d
Series 2 color: ff9bbb59
Invertierte Füllfarben für eine Serie festlegen
Wenn Ihre Datenserie sowohl positive als auch negative Werte enthält, kann das einheitliche Einfärben jeder Säule oder jedes Balkens das Diagramm schwer lesbar machen. Aspose.Slides für Python ermöglicht das Zuweisen einer invertierten Füllfarbe – einer separaten Füllung, die automatisch auf Datenpunkte unter Null angewendet wird – sodass negative Werte sofort hervorstechen. In diesem Abschnitt erfahren Sie, wie Sie diese Option aktivieren, eine passende Farbe wählen und die aktualisierte Präsentation speichern.
Das folgende Codebeispiel demonstriert die Operation:
import aspose.slides as slides
import aspose.slides.charts as charts
import aspose.pydrawing as draw
invert_color = draw.Color.red
with slides.Presentation() as presentation:
slide = presentation.slides[0]
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 200)
workBook = chart.chart_data.chart_data_workbook
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
# Neue Kategorien hinzufügen.
chart.chart_data.categories.add(workBook.get_cell(0, 1, 0, "Category 1"))
chart.chart_data.categories.add(workBook.get_cell(0, 2, 0, "Category 2"))
chart.chart_data.categories.add(workBook.get_cell(0, 3, 0, "Category 3"))
# Neue Serie hinzufügen.
series = chart.chart_data.series.add(workBook.get_cell(0, 0, 1, "Series 1"), chart.type)
# Serien-Daten befüllen.
series.data_points.add_data_point_for_bar_series(workBook.get_cell(0, 1, 1, -20))
series.data_points.add_data_point_for_bar_series(workBook.get_cell(0, 2, 1, 50))
series.data_points.add_data_point_for_bar_series(workBook.get_cell(0, 3, 1, -30))
# Farbeinstellungen für die Serie festlegen.
series_color = series.get_automatic_series_color()
series.invert_if_negative = True
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = series_color
series.inverted_solid_fill_color.color = invert_color
presentation.save("inverted_solid_fill_color.pptx", slides.export.SaveFormat.PPTX)
Das Ergebnis:

Sie können die Füllfarbe für einen einzelnen Datenpunkt anstelle der gesamten Serie invertieren. Greifen Sie einfach auf den gewünschten ChartDataPoint zu und setzen Sie dessen invert_if_negative Eigenschaft auf True.
Das folgende Codebeispiel zeigt, wie Sie dies umsetzen:
import aspose.slides as slides
import aspose.slides.charts as charts
import aspose.pydrawing as draw
with slides.Presentation() as presentation:
slide = presentation.slides[0]
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 200, True)
chart.chart_data.series.clear()
series = series.add(chart.chart_data.chart_data_workbook.get_cell(0, "B1"), chart.type)
series.data_points.add_data_point_for_bar_series(chart.chart_data.chart_data_workbook.get_cell(0, "B2", -5))
series.data_points.add_data_point_for_bar_series(chart.chart_data.chart_data_workbook.get_cell(0, "B3", 3))
series.data_points.add_data_point_for_bar_series(chart.chart_data.chart_data_workbook.get_cell(0, "B4", -3))
series.data_points.add_data_point_for_bar_series(chart.chart_data.chart_data_workbook.get_cell(0, "B5", 1))
series.invert_if_negative = False
series.data_points[2].invert_if_negative = True
presentation.save("data_point_invert_color_if_negative.pptx", slides.export.SaveFormat.PPTX)
Daten für bestimmte Datenpunkte löschen
Manchmal enthält ein Diagramm Testwerte, Ausreißer oder veraltete Einträge, die Sie entfernen möchten, ohne die gesamte Serie neu aufzubauen. Aspose.Slides für Python ermöglicht es Ihnen, einen beliebigen Datenpunkt anhand seines Index zu adressieren, dessen Inhalt zu löschen und das Diagramm sofort zu aktualisieren, sodass die verbleibenden Punkte verschoben und die Achsen automatisch neu skaliert werden.
Das folgende Codebeispiel demonstriert die Vorgehensweise:
import aspose.slides as slides
import aspose.slides.charts as charts
with slides.Presentation("test_chart.pptx") as presentation:
slide = presentation.slides[0]
chart = slide.shapes[0]
series = chart.chart_data.series[0]
for data_point in series.data_points:
data_point.x_value.as_cell.value = None
data_point.y_value.as_cell.value = None
series.data_points.clear()
presentation.save("clear_data_points.pptx", slides.export.SaveFormat.PPTX)
Lückenbreite der Serie festlegen
Die Lückenbreite steuert den Abstand zwischen benachbarten Säulen oder Balken – breitere Lücken betonen einzelne Kategorien, während engere Lücken ein dichteres, kompakteres Aussehen erzeugen. Mit Aspose.Slides für Python können Sie diesen Parameter für eine gesamte Serie feinjustieren und so genau das visuelle Gleichgewicht Ihrer Präsentation erreichen, ohne die zugrunde liegenden Daten zu verändern.
Das folgende Codebeispiel zeigt, wie Sie die Lückenbreite für eine Serie festlegen:
import aspose.slides as slides
import aspose.slides.charts as charts
gap_width = 30
# Leere Präsentation erstellen.
with slides.Presentation() as presentation:
# Auf die erste Folie zugreifen.
slide = presentation.slides[0]
# Diagramm mit Standarddaten hinzufügen.
chart = slide.shapes.add_chart(charts.ChartType.STACKED_COLUMN, 20, 20, 500, 200)
# Präsentation auf dem Datenträger speichern.
presentation.save("default_gap_width.pptx", slides.export.SaveFormat.PPTX)
# gap_width-Wert festlegen.
series = chart.chart_data.series[0]
series.parent_series_group.gap_width = gap_width
# Präsentation auf dem Datenträger speichern.
presentation.save("gap_width_30.pptx", slides.export.SaveFormat.PPTX)
Das Ergebnis:

FAQ
Gibt es eine Obergrenze für die Anzahl der Serien, die ein einzelnes Diagramm enthalten kann?
Aspose.Slides legt keine feste Obergrenze für die Anzahl der hinzuzufügenden Serien fest. Die praktische Grenze wird durch die Lesbarkeit des Diagramms und den verfügbaren Arbeitsspeicher Ihrer Anwendung bestimmt.
Was tun, wenn die Säulen innerhalb eines Clusters zu eng oder zu weit voneinander entfernt sind?
Passen Sie die gap_width Einstellung für diese Serie (oder deren übergeordnete Seriengruppe) an. Ein größerer Wert vergrößert den Abstand zwischen den Säulen, ein kleinerer Wert bringt sie näher zusammen.