Введение
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). Из них, Линейный, столбчатый, круговой, областной и фондовый имеют полную поддержку 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 или нативные зависимости