Въведение

Aspose.Cells FOSS supports creating charts directly inside 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 сериализация и се запазват правилно в .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 chart creation methods available; Линейна, Колонна, Кръгова, Областна и Стокова имат пълна поддръжка за запазване — други типове могат да се създадат, но може да не сериализират цялото форматиране към .xlsx
  • Диаграмите се позиционират чрез ограничителна кутия с индекси на редове и колони, започващи от нула
  • Данните за серии и етикетите на категориите се задават чрез низове за диапазони в стил Excel ("B2:B7")
  • Не се изисква Microsoft Excel, COM автоматизация или нативна зависимост

Вижте също