Un graphique en cascade montre comment une valeur de départ évolue à travers une série d’augmentations et de diminutions. Par exemple, vous pouvez en utiliser un dans un rapport financier pour montrer comment les ventes, les dépenses et d’autres revenus contribuent à un solde de clôture.
Dans ce tutoriel, vous créerez un graphique en cascade dans un document Word en utilisant Python et Aspose.Words for Python via .NET. Vous apprendrez également comment identifier les points totaux dans le graphique et inspecter les graphiques en cascade dans des documents existants.
Bibliothèque Python pour créer des graphiques en cascade dans Word
Aspose.Words for Python via .NET vous permet de créer et de modifier des documents Word en Python. Vous pouvez l’utiliser pour ajouter des graphiques aux rapports et travailler avec les séries de graphiques et les points de données.
Installez la bibliothèque depuis PyPI :
pip install aspose-words
Utilisez Aspose.Words for Python via .NET 26.10 ou version ultérieure pour le tutoriel complet. Cette version a introduit les API utilisées pour vérifier si un point de graphique en cascade est un total.
Pour les exigences de plateforme et d’autres détails d’installation, consultez la documentation d’installation.
Comprendre le graphique en cascade d’exemple
Les exemples utilisent les données suivantes pour montrer les changements d’un solde d’ouverture à un solde de clôture :
| Catégorie | Valeur | Type de point |
|---|---|---|
| Solde d’ouverture | 100 | Total |
| Ventes | +40 | Augmentation |
| Dépenses | −20 | Diminution |
| Sous-total | 120 | Total |
| Autres revenus | +10 | Augmentation |
| Solde de clôture | 130 | Total |
Les points de ventes, de dépenses et d’autres revenus représentent des changements. Le solde d’ouverture, le sous‑total et le solde de clôture représentent des valeurs à des étapes particulières.
Pour créer la série de graphiques, vous fournirez trois listes dans le même ordre :
- Catégories: Étiquettes pour les points du graphique.
- Valeurs: Les changements et les valeurs totales explicitement fournies.
- Indicateurs totaux: Valeurs booléennes qui désignent les points correspondants comme totaux.
Les indicateurs identifient le total des points ; ils ne le calculent pas. Dans cet exemple, le sous‑total est fourni à 120, et le solde de clôture est fourni à 130.
Créer un graphique en cascade dans Word avec Python
Suivez ces étapes pour créer le graphique :
- Créez un
Documentet unDocumentBuilder. - Insérez un graphique en utilisant
ChartType.WATERFALL. - Définissez le titre du graphique et effacez la série par défaut.
- Ajoutez les catégories, les valeurs et les indicateurs de total.
- Enregistrez le document au format DOCX.
L’exemple suivant crée le graphique complet :
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")
La méthode spécifique aux cascades add() accepte le nom de la série, les catégories, les valeurs et les indicateurs booléens. Chaque élément à un indice donné décrit le même point du graphique. Bien que l’argument booléen soit nommé is_subtotal, l’exemple documenté l’utilise pour désigner la valeur de départ, un sous‑total intermédiaire et la valeur finale en tant que totaux.
Le fichier waterfall-chart.docx résultant contient un graphique à six points montrant le solde d’ouverture, les changements, le sous‑total et le solde de clôture.

Créer des graphiques en cascade dans Word à l’aide de Python.
Vérifier si un point de graphique en cascade est un total
Vous pouvez vérifier la désignation de chaque point avec series.is_total(index). Ajoutez la boucle suivante après l’appel chart.series.add(...) dans l’exemple précédent :
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}")
Pour les données d’exemple, la sortie attendue est :
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
La méthode is_total() prend un indice basé sur zéro et renvoie True si le point est désigné comme un total. Elle ne détermine pas si le point est un solde d’ouverture, un sous‑total intermédiaire ou un total final.
Vérifier un total à l’aide de ChartDataPoint.is_total
Si vous avez déjà un point de données de graphique, vous pouvez lire sa propriété is_total. L’exemple suivant vérifie le sous‑total à l’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 est une propriété lecture seule pour les graphiques en cascade. Comme series.is_total(index), elle indique la désignation du point ; elle ne définit pas et ne calcule pas le total.
Inspecter un graphique en cascade dans un document Word existant
Vous pouvez également charger un document Word existant et le rechercher pour les séries de graphiques en cascade. L’exemple autonome suivant vérifie chaque forme, ignore les formes sans graphiques et inspecte chaque série en cascade qu’il trouve.
Remplacez waterfall-chart.docx par le chemin vers votre document :
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.")
L’exemple indique chaque point par son indice basé sur zéro. Il traite plusieurs séries waterfall si elles sont présentes et affiche un message s’il n’en trouve aucune. La propriété series_type permet au code de vérifier ChartSeriesType.WATERFALL avant d’appeler is_total().
Obtenir une licence gratuite
Vous pouvez demander une licence temporaire gratuite pour évaluer Aspose.Words for Python via .NET. Appliquez la licence dans votre application avant d’exécuter les exemples.
Conclusion
Vous pouvez créer un graphique en cascade dans un document Word en utilisant Python et identifier ses points totaux de manière programmatique. Utilisez la même approche pour ajouter des graphiques aux rapports générés ou inspecter les séries en cascade dans les documents existants.
Questions fréquentes
Comment créer un graphique en cascade dans Word avec Python?
Insérez un graphique en utilisant ChartType.WATERFALL, ajoutez une série avec des catégories, des valeurs et des indicateurs de total, puis enregistrez le document au format DOCX.
Comment spécifier les points totaux dans un graphique en cascade ?
Passez une liste booléenne via l’argument is_subtotal lors de l’ajout de la série. Définissez une entrée sur True pour chaque point qui doit être désigné comme total.
Comment vérifier si un point de diagramme en cascade est un total ?
Appelez series.is_total(index) avec l’index du point basé sur zéro, ou lisez la propriété is_total de son objet de point de données.
Les API is_total définissent‑elles ou calculent‑elles les totaux ?
Non. Ils indiquent si un point est désigné comme total. Fournissez les valeurs et leurs indicateurs de total lors de la création de la série.
Puis-je inspecter un graphique en cascade dans un document Word existant ?
Oui. Chargez le document, trouvez les formes contenant des graphiques, et vérifiez chaque série pour ChartSeriesType.WATERFALL avant d’examiner ses points.
