Ein Wasserfalldiagramm zeigt, wie sich ein Ausgangswert durch eine Reihe von Erhöhungen und Verringerungen ändert. Beispielsweise können Sie eines in einem Finanzbericht verwenden, um zu zeigen, wie Umsatz, Ausgaben und andere Einnahmen zu einem Schlussbestand beitragen.
In diesem Tutorial erstellen Sie ein Wasserfalldiagramm in einem Word‑Dokument mit Python und Aspose.Words for Python via .NET. Sie lernen außerdem, wie Sie Gesamtpunkte im Diagramm identifizieren und Wasserfalldiagramme in vorhandenen Dokumenten untersuchen.
Python-Bibliothek zum Erstellen von Wasserfalldiagrammen in Word
Aspose.Words for Python via .NET ermöglicht es Ihnen, Word‑Dokumente in Python zu erstellen und zu bearbeiten. Sie können es verwenden, um Diagramme zu Berichten hinzuzufügen und mit Diagrammserien und Datenpunkten zu arbeiten.
Installieren Sie die Bibliothek von PyPI:
pip install aspose-words
Verwenden Sie Aspose.Words for Python via .NET 26.10 or later für das vollständige Tutorial. Diese Version führte die APIs ein, die verwendet werden, um zu prüfen, ob ein Punkt im Wasserfalldiagramm eine Gesamtsumme ist.
Für Plattformanforderungen und weitere Installationsdetails siehe die Installationsdokumentation.
Verstehen Sie das Beispiel‑Wasserfalldiagramm
Die Beispiele verwenden die folgenden Daten, um Änderungen von einem Anfangsbestand zu einem Endbestand zu zeigen:
| Kategorie | Wert | Punkttyp |
|---|---|---|
| Anfangsbestand | 100 | Gesamt |
| Umsatz | +40 | Zunahme |
| Ausgaben | −20 | Abnahme |
| Zwischensumme | 120 | Gesamt |
| Sonstige Einnahmen | +10 | Zunahme |
| Schlussbestand | 130 | Gesamt |
Die Verkaufs‑, Ausgaben‑ und sonstige Einkommenspunkte stellen Änderungen dar. Der Eröffnungsbestand, die Zwischensumme und der Schlussbestand stellen Werte zu bestimmten Phasen dar.
Um die Diagrammreihe zu erstellen, geben Sie drei Listen in derselben Reihenfolge an:
- Categories: Beschriftungen für die Diagrammpunkte.
- Values: Die Änderungen und explizit bereitgestellten Gesamtwerte.
- Total-Flags: Boolesche Werte, die die entsprechenden Punkte als Gesamtsummen kennzeichnen.
Die Flags identifizieren die Gesamtpunkte; sie berechnen sie nicht. In diesem Beispiel wird die Zwischensumme als 120 und der Schlussbestand als 130 angegeben.
Erstellen eines Wasserfalldiagramms in Word mit Python
Befolgen Sie diese Schritte, um das Diagramm zu erstellen:
- Erstellen Sie ein
Documentund einenDocumentBuilder. - Fügen Sie ein Diagramm mit
ChartType.WATERFALLein. - Setzen Sie den Diagrammtitel und entfernen Sie die Standardsereien.
- Fügen Sie die Kategorien, Werte und Gesamtsummen‑Markierungen hinzu.
- Speichern Sie das Dokument als DOCX‑Datei.
Das folgende Beispiel erstellt das komplette Diagramm:
import aspose.words as aw
# Create a document and document builder.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
# Insert a waterfall chart.
shape = builder.insert_chart(
chart_type=aw.drawing.charts.ChartType.WATERFALL,
width=500,
height=350
)
chart = shape.chart
chart.title.text = "Balance Changes"
# Remove the default chart series.
chart.series.clear()
# Define categories, values, and total flags.
categories = [
"Opening balance",
"Sales",
"Expenses",
"Subtotal",
"Other income",
"Closing balance"
]
values = [100, 40, -20, 120, 10, 130]
total_flags = [True, False, False, True, False, True]
# Add the waterfall series.
series = chart.series.add(
series_name="Balance",
categories=categories,
values=values,
is_subtotal=total_flags
)
# Save the Word document.
doc.save("waterfall-chart.docx")
Die waterfall‑spezifische add()‑Methode akzeptiert den Seriennamen, Kategorien, Werte und boolesche Flags. Jeder Eintrag an einem gegebenen Index beschreibt denselben Diagrammpunkt. Obwohl das boolesche Argument is_subtotal heißt, verwendet das dokumentierte Beispiel es, um den Startwert, einen Zwischensubtotal und den Endwert als Gesamtsummen zu bezeichnen.
Das resultierende waterfall-chart.docx enthält ein Diagramm mit sechs Punkten, das den Eröffnungssaldo, Änderungen, Zwischensumme und den Schlusssaldo zeigt.

Erstellen von Wasserfalldiagrammen in Word mit Python.
Überprüfen, ob ein Punkt im Wasserfalldiagramm ein Gesamtsumme ist
Sie können die Bezeichnung jedes Punktes mit series.is_total(index) überprüfen. Fügen Sie die folgende Schleife nach dem Aufruf chart.series.add(...) im vorherigen Beispiel hinzu:
for i in range(len(categories)):
point_type = "Total" if series.is_total(i) else "Not a total"
print(f"{categories[i]}: {values[i]} — {point_type}")
Für die Beispieldaten ist die erwartete Ausgabe:
Opening balance: 100 — Total
Sales: 40 — Not a total
Expenses: -20 — Not a total
Subtotal: 120 — Total
Other income: 10 — Not a total
Closing balance: 130 — Total
Die is_total()-Methode nimmt einen nullbasierten Index und gibt True zurück, wenn der Punkt als Gesamtsumme gekennzeichnet ist. Sie identifiziert nicht, ob der Punkt ein Anfangssaldo, ein Zwischensumme oder ein Endtotal ist.
Gesamtsumme prüfen mit ChartDataPoint.is_total
Wenn Sie bereits einen Diagrammdatenpunkt haben, können Sie dessen is_total‑Eigenschaft auslesen. Das folgende Beispiel prüft die Zwischensumme bei Index 3:
is_subtotal = series.data_points[3].is_total
print(f"Subtotal is a total: {is_subtotal}")
Expected output:
Subtotal is a total: True
ChartDataPoint.is_total ist eine schreibgeschützte Eigenschaft für Wasserfalldiagramme. Wie series.is_total(index) gibt sie die Bezeichnung des Punktes zurück; sie setzt oder berechnet den Gesamtwert nicht.
Untersuchen Sie ein Wasserfalldiagramm in einem vorhandenen Word-Dokument
Sie können auch ein vorhandenes Word‑Dokument laden und darin nach Wasserfalldiagramm‑Serien suchen. Das folgende eigenständige Beispiel prüft jede Form, überspringt Formen ohne Diagramme und untersucht jede gefundene Wasserfalldiagramm‑Serie.
Ersetzen Sie waterfall-chart.docx durch den Pfad zu Ihrem Dokument:
import aspose.words as aw
# Load an existing Word document.
doc = aw.Document("waterfall-chart.docx")
found_waterfall_series = False
# Search the document's shapes.
shapes = doc.get_child_nodes(aw.NodeType.SHAPE, True)
for node in shapes:
shape = node.as_shape()
if not shape.has_chart:
continue
for series in shape.chart.series:
if series.series_type != aw.drawing.charts.ChartSeriesType.WATERFALL:
continue
found_waterfall_series = True
print(f"Waterfall series: {series.name}")
for i in range(series.y_values.count):
point_type = "Total" if series.is_total(i) else "Not a total"
print(f"Point {i}: {point_type}")
if not found_waterfall_series:
print("No waterfall chart series found.")
Das Beispiel gibt jeden Punkt anhand seines nullbasierten Index aus. Es verarbeitet mehrere Wasserfall‑Serien, falls vorhanden, und gibt eine Meldung aus, wenn keine gefunden werden. Die Eigenschaft series_type ermöglicht es dem Code, auf ChartSeriesType.WATERFALL zu prüfen, bevor is_total() aufgerufen wird.
Kostenlose Lizenz erhalten
Sie können eine kostenlose temporäre Lizenz anfordern, um Aspose.Words for Python via .NET zu evaluieren. Wenden Sie die Lizenz in Ihrer Anwendung an, bevor Sie die Beispiele ausführen.
Fazit
Sie können ein Wasserfalldiagramm in einem Word‑Dokument mit Python erstellen und seine Gesamtpunkte programmgesteuert identifizieren. Verwenden Sie denselben Ansatz, um Diagramme zu generierten Berichten hinzuzufügen oder Wasserfallserien in bestehenden Dokumenten zu untersuchen.
Häufig gestellte Fragen
Wie erstelle ich ein Wasserfalldiagramm in Word mit Python?
Fügen Sie ein Diagramm mit ChartType.WATERFALL ein, fügen Sie eine Serie mit Kategorien, Werten und Gesamt‑Flaggen hinzu und speichern Sie das Dokument als DOCX-Datei.
Wie gebe ich die Gesamtpunkte in einem Wasserfalldiagramm an?
Übergeben Sie eine Boolesche Liste über das Argument is_subtotal, wenn Sie die Serie hinzufügen. Setzen Sie einen Eintrag auf True für jeden Punkt, der als Gesamtsumme gekennzeichnet werden soll.
Wie kann ich prüfen, ob ein Punkt im Wasserfalldiagramm ein Gesamtsumme ist?
Rufen Sie series.is_total(index) mit dem nullbasierten Index des Punktes auf oder lesen Sie die is_total‑Eigenschaft seines Datenpunkt‑Objekts.
Setzen oder berechnen die is_total APIs Gesamtsummen?
Nein. Sie geben an, ob ein Punkt als Gesamtsumme gekennzeichnet ist. Geben Sie die Werte und deren Gesamtkennzeichen an, wenn Sie die Serie erstellen.
Kann ich ein Wasserfalldiagramm in einem bestehenden Word-Dokument untersuchen?
Ja. Laden Sie das Dokument, finden Sie Formen, die Diagramme enthalten, und prüfen Sie jede Serie auf ChartSeriesType.WATERFALL, bevor Sie deren Punkte untersuchen.
