บทนำ
Aspose.Cells FOSS รองรับการสร้างแผนภูมิโดยตรงภายในไฟล์ Excel .xlsx จาก Python. ไลบรารีมีเมธอด add_*() เฉพาะสำหรับ 16 ประเภทแผนภูมิ (Line, Bar, Pie, Area, Scatter, Waterfall, Combo, Stock, Surface, Radar, Treemap, Sunburst, Histogram, Funnel, Box & Whisker, และ Map). จากประเภทเหล่านี้, Line, Bar, Pie, Area, และ Stock มีการสนับสนุนการทำ XML serialization อย่างเต็มรูปแบบและบันทึกได้อย่างถูกต้องไปยัง .xlsx. ประเภทที่เหลือสามารถสร้างในหน่วยความจำได้แต่บางครั้งอาจไม่คงรูปแบบทั้งหมดเมื่อบันทึก.
แผนภูมิจะถูกเพิ่มผ่านวิธี worksheet.charts.add_*() ที่รับกล่องขอบเขตที่กำหนดโดย (upper_left_row, upper_left_column, lower_right_row, lower_right_column) เป็นดัชนีเริ่มจากศูนย์. ข้อมูลซีรีส์จะถูกเพิ่มผ่าน chart.n_series.add().
การสร้างแผนภูมิแท่ง
from aspose.cells_foss import Workbook
workbook = Workbook()
worksheet = workbook.worksheets[0]
# Write data
months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
sales = [100, 150, 120, 180, 200, 170]
for i, (m, s) in enumerate(zip(months, sales), 2):
worksheet.cells[f"A{i}"].value = m
worksheet.cells[f"B{i}"].value = s
# Add a bar chart anchored to rows 0-20, columns 4-12
chart = worksheet.charts.add_bar(0, 4, 20, 12)
chart.title = "Monthly Sales"
chart.n_series.add("B2:B7", category_data="A2:A7", name="Sales")
workbook.save("bar_chart.xlsx")
การสร้างแผนภูมิเส้น
from aspose.cells_foss import Workbook
workbook = Workbook()
worksheet = workbook.worksheets[0]
months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
sales = [100, 150, 120, 180, 200, 170]
for i, (m, s) in enumerate(zip(months, sales), 2):
worksheet.cells[f"A{i}"].value = m
worksheet.cells[f"B{i}"].value = s
# Line chart anchored to rows 0-20, columns 4-12
chart = worksheet.charts.add_line(0, 4, 20, 12)
chart.title = "Monthly Sales"
chart.n_series.add("B2:B7", category_data="A2:A7", name="Sales")
workbook.save("line_chart.xlsx")
จุดเด่นสำคัญ
- มีวิธีสร้างแผนภูมิทั้งหมด 16 วิธี; Line, Bar, Pie, Area, and Stock มีการสนับสนุนการบันทึกเต็มรูปแบบ — ประเภทอื่น ๆ สามารถสร้างได้แต่บางครั้งอาจไม่ทำการจัดรูปแบบทั้งหมดให้เป็น
.xlsx - แผนภูมิจะถูกจัดตำแหน่งโดยใช้กล่องขอบเขตของดัชนีแถวและคอลัมน์ที่เริ่มจากศูนย์
- ข้อมูลซีรีส์และป้ายกำกับประเภทถูกระบุด้วยสตริงช่วงแบบ Excel (
"B2:B7") - ไม่จำเป็นต้องใช้ Microsoft Excel, COM automation หรือการพึ่งพาแบบเนทีฟใด ๆ