תרשים מפל מציג כיצד ערך התחלתי משתנה דרך סדרה של עליות וירידות. לדוגמה, ניתן להשתמש בו בדוח פיננסי כדי להציג כיצד מכירות, הוצאות והכנסות אחרות תורמות למאזן סופי.
במדריך זה, תיצור תרשים מפל במסמך Word באמצעות Python ו‑Aspose.Words for Python via .NET. בנוסף תלמד כיצד לזהות נקודות סך הכל בתרשים ולבדוק תרשימי מפל במסמכים קיימים.
ספריית Python ליצירת תרשימי מפל ב‑Word
Aspose.Words for Python via .NET מאפשר לך ליצור ולשנות מסמכי Word ב-Python. ניתן להשתמש בו כדי להוסיף תרשימים לדוחות ולעבוד עם סדרות תרשימים ונקודות נתונים.
התקן את הספרייה מ‑PyPI:
pip install aspose-words
השתמש ב-Aspose.Words for Python via .NET 26.10 or later למדריך המלא. גרסה זו הציגה את ה-API המשמשים לבדוק האם נקודת גרף מפל היא סה"כ.
לדרישות הפלטפורמה ולפרטי התקנה נוספים, ראה את תיעוד ההתקנה.
הבינו את תרשים המפל לדוגמה
הדוגמאות משתמשות בנתונים הבאים כדי להציג שינויים מיתרת פתיחה ליתרת סגירה:
| קטגוריה | ערך | סוג נקודה |
|---|---|---|
| מאזן פתיחה | 100 | סה"כ |
| מכירות | +40 | הגדלה |
| הוצאות | −20 | ירידה |
| סכום ביניים | 120 | סה"כ |
| הכנסה אחרת | +10 | הגדלה |
| מאזן סגירה | 130 | סה"כ |
נקודות המכירות, ההוצאות וההכנסות האחרות מייצגות שינויים. היתרה הפתיחה, הסכום המשני והיתרה הסגירה מייצגות ערכים בשלבים ספציפיים.
כדי ליצור את סדרת התרשים, עליך לספק שלושה רשימות באותו סדר:
- קטגוריות: תוויות לנקודות בתרשים.
- ערכים: השינויים והערכים הכוללים שסופקו במפורש.
- דגלי סה"כ: ערכי בוליאן שמציינים את הנקודות המתאימות כסכומים כוללים.
הדגלים מזהים את סך הנקודות; הם אינם מחשבים אותן. בדוגמה זו, הסכום המשני מסופק כ-120, והיתרה הסופית מסופקת כ-130.
יצירת תרשים מפל ב‑Word באמצעות Python
עקבו אחרי הצעדים הבאים כדי ליצור את התרשים:
- צור
Documentו-DocumentBuilder. - הוסף תרשים באמצעות
ChartType.WATERFALL. - הגדר את כותרת התרשים ונקה את הסדרה המוגדרת כברירת מחדל.
- הוסף את הקטגוריות, הערכים וסימוני הסכום הכולל.
- שמור את המסמך כקובץ DOCX.
הדוגמה הבאה יוצרת את התרשים המלא:
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")
השיטה add() הספציפית למפל המים מקבלת את שם הסדרה, הקטגוריות, הערכים והדגלים הבוליאניים. כל פריט במיקום נתון מתאר את אותה נקודת גרף. למרות שהפרמטר הבוליאני נקרא is_subtotal, הדוגמה המתועדת משתמשת בו כדי לציין את הערך ההתחלתי, תת‑סכום ביניים, והערך הסופי כסכומים כוללים.
הקובץ waterfall-chart.docx שנוצר מכיל תרשים בעל שישה נקודות המציג את יתרת הפתיחה, השינויים, הסכום המשני והיתרה הסופית.

יצירת תרשימי מפל ב-Word באמצעות Python.
בדוק האם נקודת גרף מפל היא סה"כ
ניתן לבדוק את הסימון של כל נקודה באמצעות series.is_total(index). הוסף את הלולאה הבאה לאחר הקריאה chart.series.add(...) בדוגמה הקודמת:
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}")
לנתוני הדוגמה, הפלט הצפוי הוא:
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
המתודה is_total() מקבלת אינדקס שמתחיל מאפס ומחזירה True אם הנקודה מסומנת כסכום כולל. היא אינה מזהה האם הנקודה היא יתרת פתיחה, סכום ביניים, או סכום סופי.
בדיקת סכום כולל באמצעות ChartDataPoint.is_total
אם כבר יש לך נקודת נתוני גרף, אתה יכול לקרוא את המאפיין is_total. הדוגמה הבאה בודקת את הסכום המשני באינדקס 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 הוא מאפיין קריאה בלבד עבור תרשימי מפל. כמו series.is_total(index), הוא מדווח על ייעוד הנקודה; הוא אינו מגדיר או מחשב את הסכום הכולל.
בדוק תרשים מפל במסמך Word קיים
אתה יכול גם לטעון מסמך Word קיים ולחפש בו סדרות של גרף מפל. הדוגמה העצמאית הבאה בודקת כל צורה, מדלגת על צורות ללא גרפים, ובוחנת כל סדרת מפל שהיא מוצאת.
החלף את waterfall-chart.docx בנתיב למסמך שלך:
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.")
הדוגמה מדווחת על כל נקודה לפי האינדקס שמתחיל מאפס. היא מעבדת מספר סדרות מפל אם הן קיימות ומדפיסה הודעה אם אינה מוצאת אף אחת. המאפיין series_type מאפשר לקוד לבדוק עבור ChartSeriesType.WATERFALL לפני קריאה ל-is_total().
קבל רישיון חינמי
אתה יכול לבקש רישיון זמני חינמי כדי להעריך את Aspose.Words for Python via .NET. החל את הרישיון ביישום שלך לפני הרצת הדוגמאות.
סיכום
אתה יכול ליצור תרשים מפל במסמך Word באמצעות Python ולזהות את הנקודות הכוללות שלו באופן תכנותי. השתמש באותה גישה כדי להוסיף תרשימים לדוחות שנוצרו או לבדוק סדרות מפל במסמכים קיימים.
שאלות נפוצות
איך ליצור תרשים מפל ב-Word באמצעות Python?
הוסף תרשים באמצעות ChartType.WATERFALL, הוסף סדרה עם קטגוריות, ערכים וסימוני סך, ושמור את המסמך כקובץ DOCX.
איך אני מציין את סך הנקודות בתרשים מפל?
העבר רשימת בוליאנים דרך הפרמטר is_subtotal בעת הוספת הסדרה. קבע ערך True עבור כל נקודה שצריך לסמן כסכום כולל.
איך לבדוק אם נקודת גרף מפל היא סה"כ?
קראו series.is_total(index) עם האינדקס של הנקודה שמתחיל מאפס, או קראו את המאפיין is_total של אובייקט נקודת הנתונים שלו.
האם ה-APIs is_total מגדירים או מחשבים סכומים?
לא. הם מדווחים האם נקודה מסומנת כסך כולל. ספק את הערכים ואת דגלי הסך שלהם בעת יצירת הסדרה.
האם אני יכול לבדוק תרשים מפל במסמך Word קיים?
כן. טען את המסמך, מצא צורות שמכילות תרשימים, ובדוק כל סדרה עבור ChartSeriesType.WATERFALL לפני בחינת הנקודות שלה.
