Diagram waterfall menunjukkan bagaimana nilai awal berubah melalui serangkaian peningkatan dan penurunan. Misalnya, Anda dapat menggunakannya dalam laporan keuangan untuk menunjukkan bagaimana penjualan, pengeluaran, dan pendapatan lainnya berkontribusi pada saldo akhir.

Dalam tutorial ini, Anda akan membuat diagram waterfall dalam dokumen Word menggunakan Python dan Aspose.Words for Python via .NET. Anda juga akan belajar cara mengidentifikasi total point dalam diagram dan memeriksa diagram waterfall dalam dokumen yang ada.

Perpustakaan Python untuk Membuat Diagram Waterfall di Word

Aspose.Words for Python via .NET memungkinkan Anda membuat dan memodifikasi dokumen Word di Python. Anda dapat menggunakannya untuk menambahkan diagram ke laporan dan bekerja dengan seri diagram serta titik data.

Instal perpustakaan dari PyPI:

pip install aspose-words

Gunakan Aspose.Words for Python via .NET 26.10 atau lebih baru untuk tutorial lengkap. Versi ini memperkenalkan API yang digunakan untuk memeriksa apakah titik diagram waterfall adalah total.

Untuk persyaratan platform dan detail instalasi lainnya, lihat dokumentasi instalasi.

Memahami Contoh Diagram Waterfall

Contoh-contoh menggunakan data berikut untuk menunjukkan perubahan dari saldo pembukaan ke saldo penutupan:

KategoriNilaiJenis poin
Saldo pembukaan100Total
Penjualan+40Peningkatan
Pengeluaran−20Penurunan
Subtotal120Total
Pendapatan lain+10Peningkatan
Saldo penutupan130Total

Poin penjualan, pengeluaran, dan pendapatan lain mewakili perubahan. Saldo pembukaan, subtotal, dan saldo penutupan mewakili nilai pada tahap tertentu.

Untuk membuat seri diagram, Anda akan menyediakan tiga daftar dalam urutan yang sama:

  • Categories: Label untuk titik-titik diagram.
  • Values: Perubahan dan nilai total yang diberikan secara eksplisit.
  • Total flags: Nilai boolean yang menandai titik-titik yang bersangkutan sebagai total.

Flag menandai total poin; mereka tidak menghitungnya. Dalam contoh ini, subtotal diberikan sebagai 120, dan saldo penutupan diberikan sebagai 130.

Membuat Diagram Waterfall di Word Menggunakan Python

Ikuti langkah‑langkah berikut untuk membuat diagram:

  1. Buat sebuah Document dan DocumentBuilder.
  2. Sisipkan diagram menggunakan ChartType.WATERFALL.
  3. Atur judul diagram dan bersihkan seri default.
  4. Tambahkan kategori, nilai, dan flag total.
  5. Simpan dokumen sebagai file DOCX.

Contoh berikut membuat diagram lengkap:

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")

Metode add() khusus waterfall menerima nama seri, kategori, nilai, dan flag Boolean. Setiap item pada indeks tertentu menggambarkan titik grafik yang sama. Meskipun argumen Boolean bernama is_subtotal, contoh yang didokumentasikan menggunakannya untuk menandai nilai awal, subtotal menengah, dan nilai akhir sebagai total.

File waterfall-chart.docx yang dihasilkan berisi diagram enam poin yang menunjukkan saldo pembukaan, perubahan, subtotal, dan saldo penutupan.

Buat Diagram Waterfall di Word Menggunakan Python.

Buat Diagram Waterfall di Word Menggunakan Python.

Periksa Apakah Titik Diagram Waterfall adalah Total

Anda dapat memeriksa penunjukan setiap titik dengan series.is_total(index). Tambahkan loop berikut setelah pemanggilan chart.series.add(...) dalam contoh sebelumnya:

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}")

Untuk data contoh, output yang diharapkan adalah:

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

Metode is_total() mengambil indeks berbasis nol dan mengembalikan True jika titik ditetapkan sebagai total. Metode ini tidak mengidentifikasi apakah titik tersebut merupakan saldo pembukaan, subtotal menengah, atau total akhir.

Periksa Total Menggunakan ChartDataPoint.is_total

Jika Anda sudah memiliki titik data chart, Anda dapat membaca properti is_total‑nya. Contoh berikut memeriksa subtotal pada indeks 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 adalah properti read-only untuk diagram waterfall. Seperti series.is_total(index), properti ini melaporkan penunjukan titik; tidak mengatur atau menghitung total.

Periksa Diagram Waterfall dalam Dokumen Word yang Ada

Anda juga dapat memuat dokumen Word yang ada dan mencarinya untuk seri diagram waterfall. Contoh mandiri berikut memeriksa setiap shape, melewati shape tanpa diagram, dan memeriksa setiap seri waterfall yang ditemukan.

Ganti waterfall-chart.docx dengan path ke dokumen Anda:

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.")

Contoh ini melaporkan setiap titik berdasarkan indeks berbasis nol. Ia memproses beberapa seri waterfall jika ada dan mencetak pesan jika tidak menemukan satupun. Properti series_type memungkinkan kode memeriksa ChartSeriesType.WATERFALL sebelum memanggil is_total().

Dapatkan Lisensi Gratis

Anda dapat meminta lisensi sementara gratis untuk mengevaluasi Aspose.Words for Python via .NET. Terapkan lisensi tersebut di aplikasi Anda sebelum menjalankan contoh.

Kesimpulan

Anda dapat membuat diagram waterfall dalam dokumen Word menggunakan Python dan mengidentifikasi total poinnya secara programatis. Gunakan pendekatan yang sama untuk menambahkan diagram ke laporan yang dihasilkan atau memeriksa seri waterfall dalam dokumen yang ada.

Pertanyaan yang Sering Diajukan

Bagaimana cara membuat diagram waterfall di Word menggunakan Python?

Masukkan diagram menggunakan ChartType.WATERFALL, tambahkan seri dengan kategori, nilai, dan tanda total, lalu simpan dokumen sebagai file DOCX.

Bagaimana cara menentukan total poin dalam diagram waterfall?

Berikan daftar Boolean melalui argumen is_subtotal saat menambahkan seri. Tetapkan entri ke True untuk setiap titik yang harus ditetapkan sebagai total.

Bagaimana cara memeriksa apakah titik pada diagram waterfall adalah total?

Panggil series.is_total(index) dengan indeks berbasis nol dari titik tersebut, atau baca properti is_total dari objek data-point.

Apakah API is_total mengatur atau menghitung total?

Tidak. Mereka melaporkan apakah suatu titik ditetapkan sebagai total. Berikan nilai‑nilai dan flag totalnya saat membuat seri.

Bisakah saya memeriksa diagram waterfall dalam dokumen Word yang ada?

Ya. Muat dokumen, temukan shape yang berisi chart, dan periksa setiap seri untuk ChartSeriesType.WATERFALL sebelum memeriksa titik‑titiknya.

See Also