प्रोग्रामेटिक रूप से चार्ट बनाना क्यों?
स्वचालित रिपोर्टिंग पाइपलाइन अक्सर Excel कार्यपुस्तिकाओं में एम्बेडेड चार्ट की आवश्यकता रखती हैं, जैसे त्रैमासिक सारांश, ML परिणाम डैशबोर्ड, या संचालन मीट्रिक। Microsoft Excel के बिना यह करने से लाइसेंस लागत नहीं और GUI इंटरैक्शन नहीं होता।.
Aspose.Cells FOSS for Python एक साफ़, पायथनिक चार्ट API प्रदान करता है: प्रत्येक चार्ट प्रकार के लिए एक मेथड, शीर्षक के लिए एक साधारण स्ट्रिंग, और कीवर्ड-आर्ग्यूमेंट-आधारित सीरीज़ कॉन्फ़िगरेशन। पूरी API नीचे कवर की गई है।.
इंस्टॉल
pip install aspose-cells-foss
जिस क्लास की आपको आवश्यकता है उसे इम्पोर्ट करें:
from aspose.cells_foss import Workbook, Cell
चार्ट्स तक पहुँच इस प्रकार है ws.charts; कोई अलग चार्ट मॉड्यूल इम्पोर्ट करने की आवश्यकता नहीं है।.
चार्ट API का एक नज़र में सारांश
| आप क्या चाहते हैं | इसे कैसे करें |
|---|---|
| एक कॉलम चार्ट जोड़ें | ws.charts.add_bar(top_row, left_col, bottom_row, right_col) |
| एक लाइन चार्ट जोड़ें | ws.charts.add_line(top_row, left_col, bottom_row, right_col) |
| एक बार चार्ट जोड़ें | ws.charts.add_bar(top_row, left_col, bottom_row, right_col) |
| एक पाई चार्ट जोड़ें | ws.charts.add_pie(top_row, left_col, bottom_row, right_col) |
| शीर्षक सेट करें | chart.title = "My Chart" (साधारण स्ट्रिंग; नहीं .title.text) |
| x-अक्ष श्रेणियाँ सेट करें | chart.category_data = "A2:A6" |
| एक नामित सीरीज़ जोड़ें | chart.n_series.add("B2:B6", category_data="A2:A6", name="Revenue") |
| लेजेंड दिखाएँ | chart.show_legend = True |
| लेजेंड की स्थिति सेट करें | chart.legend_position = "bottom" |
सभी पंक्ति और कॉलम सूचकांक हैं शून्य-आधारित. यह add_* मेथड्स रिटर्न करते हैं Chart ऑब्जेक्ट सीधे (इंडेक्स नहीं)।.
कॉलम चार्ट: चरण दर चरण
आइए एक कॉलम चार्ट बनाते हैं जो त्रैमासिक राजस्व और खर्च दिखाता है।.
चरण 1: कार्यपुस्तिका बनाएं और डेटा लिखें
from aspose.cells_foss import Workbook, Cell
wb = Workbook()
ws = wb.worksheets[0]
ws.name = "Q1-Q4 Report"
##Headers
ws.cells["A1"].value = "Quarter"
ws.cells["B1"].value = "Revenue"
ws.cells["C1"].value = "Expenses"
##Data
quarters = ["Q1", "Q2", "Q3", "Q4"]
revenue = [50000, 62000, 71000, 89000]
expenses = [32000, 38000, 41000, 47000]
for i, (q, r, e) in enumerate(zip(quarters, revenue, expenses), start=2):
ws.cells[f"A{i}"].value = q
ws.cells[f"B{i}"].value = r
ws.cells[f"C{i}"].value = e
चरण 2: चार्ट जोड़ें
डेटा के नीचे चार्ट को स्थित करें (पंक्ति 7 से आगे, कॉलम 0-8 तक विस्तारित):
chart = ws.charts.add_bar(6, 0, 22, 8)
चरण 3: शीर्षक और लेजेंड कॉन्फ़िगर करें
chart.title = "Quarterly Revenue vs Expenses"
chart.show_legend = True
chart.legend_position = "bottom"
चरण 4: डेटा श्रृंखला जोड़ें
प्रत्येक श्रृंखला को एक मान सीमा, श्रेणी सीमा, और एक नाम चाहिए:
chart.category_data = "A2:A5"
chart.n_series.add("B2:B5", category_data="A2:A5", name="Revenue")
chart.n_series.add("C2:C5", category_data="A2:A5", name="Expenses")
चरण 5: सहेजें
wb.save("quarterly_report.xlsx")
print("Chart saved to quarterly_report.xlsx")
एक ब्लॉक में पूर्ण उदाहरण:
from aspose.cells_foss import Workbook, Cell
wb = Workbook()
ws = wb.worksheets[0]
ws.name = "Q1-Q4 Report"
##Data
ws.cells["A1"].value = "Quarter"
ws.cells["B1"].value = "Revenue"
ws.cells["C1"].value = "Expenses"
data = [("Q1", 50000, 32000), ("Q2", 62000, 38000),
("Q3", 71000, 41000), ("Q4", 89000, 47000)]
for i, (q, r, e) in enumerate(data, start=2):
ws.cells[f"A{i}"].value = q
ws.cells[f"B{i}"].value = r
ws.cells[f"C{i}"].value = e
chart = ws.charts.add_bar(6, 0, 22, 8)
chart.title = "Quarterly Revenue vs Expenses"
chart.category_data = "A2:A5"
chart.n_series.add("B2:B5", category_data="A2:A5", name="Revenue")
chart.n_series.add("C2:C5", category_data="A2:A5", name="Expenses")
chart.show_legend = True
chart.legend_position = "bottom"
wb.save("quarterly_report.xlsx")
लाइन चार्ट: मासिक प्रवृत्ति
एक ही पैटर्न इस हेतु काम करता है add_line():
from aspose.cells_foss import Workbook, Cell
wb = Workbook()
ws = wb.worksheets[0]
months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
actuals = [42000, 47500, 53000, 49000, 61000, 68000]
targets = [45000, 45000, 50000, 55000, 60000, 65000]
ws.cells["A1"].value = "Month"
ws.cells["B1"].value = "Actual"
ws.cells["C1"].value = "Target"
for i, (m, a, t) in enumerate(zip(months, actuals, targets), start=2):
ws.cells[f"A{i}"].value = m
ws.cells[f"B{i}"].value = a
ws.cells[f"C{i}"].value = t
chart = ws.charts.add_line(8, 0, 24, 8)
chart.title = "Monthly Revenue: Actual vs Target"
chart.category_data = "A2:A7"
chart.n_series.add("B2:B7", category_data="A2:A7", name="Actual")
chart.n_series.add("C2:C7", category_data="A2:A7", name="Target")
chart.show_legend = True
chart.legend_position = "right"
wb.save("monthly_trend.xlsx")
पाई चार्ट: बाजार हिस्सेदारी
from aspose.cells_foss import Workbook, Cell
wb = Workbook()
ws = wb.worksheets[0]
segments = ["Product A", "Product B", "Product C", "Product D"]
shares = [40, 25, 20, 15]
ws.cells["A1"].value = "Segment"
ws.cells["B1"].value = "Share %"
for i, (s, v) in enumerate(zip(segments, shares), start=2):
ws.cells[f"A{i}"].value = s
ws.cells[f"B{i}"].value = v
chart = ws.charts.add_pie(6, 0, 20, 7)
chart.title = "Market Share by Product"
chart.category_data = "A2:A5"
chart.n_series.add("B2:B5", category_data="A2:A5", name="Share")
chart.show_legend = True
chart.legend_position = "right"
wb.save("market_share.xlsx")
से बचने के लिए सामान्य गलतियाँ
| गलत | सही |
|---|---|
ws.charts.add(ChartType.COLUMN, 5, 0, 15, 5) | ws.charts.add_bar(5, 0, 15, 5) |
chart.title.text = "Revenue" | chart.title = "Revenue" |
chart.n_series.add("B2:B5", True) (पोज़िशनल) | chart.n_series.add("B2:B5", category_data="A2:A5", name="Revenue") |
from aspose.cells.charts import ChartType | ज़रूरी नहीं; उपयोग करें ws.charts.add_bar() सीधे |
chart.n_series.category_data = "A2:A5" | chart.category_data = "A2:A5" (चार्ट स्तर) |
संसाधन
- Aspose.Cells FOSS for Python: Installation
- डेवलपर गाइड: चार्ट निर्माण
- API रेफ़रेंस: ChartCollection, Chart, NSeries
- नॉलेज बेस: Python में चार्ट कैसे बनाएं
- उत्पाद अवलोकन: विशेषताएँ और क्षमताओं का सारांश
- ब्लॉग: Aspose.Cells FOSS का परिचय: लाइब्रेरी अवलोकन और त्वरित शुरुआत
- GitHub रिपॉजिटरी