Введение

Aspose.Cells позволяет разработчикам программно создавать и настраивать диаграммы непосредственно в электронных таблицах с использованием Python. Библиотека дает пользователям возможность визуализировать данные без необходимости использовать внешние инструменты или вручную работать в Microsoft Excel. Эта возможность важна для создания динамических отчетов, панелей мониторинга и документов, основанных на данных, которые требуют мгновенного получения инсайтов из исходных данных таблицы.

С помощью Aspose.Cells вы можете добавлять различные типы диаграмм (включая столбчатые, линейные, круговые и областные диаграммы) в лист и определять источники данных, используя коллекцию n_series. Эти функции позволяют легко преобразовать статические данные таблицы в привлекательные визуальные представления.

import os
from aspose.cells_foss import Workbook, ChartType

def get_output_directory():
    return os.path.abspath(os.path.join(".", "..", "..", "..", "Data", "02_OutputDirectory"))

def run_how_to_create_custom_chart():
    # Create a new workbook and get the first worksheet
    workbook = Workbook()
    worksheet = workbook.worksheets[0]

    # Populate cells with sample data
    worksheet.cells.get_cell_by_name("A1").put_value(50)
    worksheet.cells.get_cell_by_name("A2").put_value(100)
    worksheet.cells.get_cell_by_name("A3").put_value(150)
    worksheet.cells.get_cell_by_name("A4").put_value(110)
    worksheet.cells.get_cell_by_name("B1").put_value(260)
    worksheet.cells.get_cell_by_name("B2").put_value(12)
    worksheet.cells.get_cell_by_name("B3").put_value(50)
    worksheet.cells.get_cell_by_name("B4").put_value(100)

    # Add a bar chart to the worksheet using the dedicated add_bar() method
    chart = worksheet.charts.add_bar(5, 0, 25, 10)

    # Add NSeries data source ranging from A1 to B4
    chart.n_series.add("A1:B4", True)

    # Save the workbook
    output_path = os.path.join(get_output_directory(), "outputHowToCreateCustomChart.xlsx")
    workbook.save(output_path)

    print("HowToCreateCustomChart executed successfully.")

if __name__ == "__main__":
    run_how_to_create_custom_chart()

Ключевые моменты

Aspose.Cells позволяет разработчикам создавать профессиональные диаграммы непосредственно в электронных таблицах с помощью Python. С помощью интуитивных API пользователи могут задавать типы диаграмм, привязывать диапазоны данных и устанавливать заголовки диаграмм, всё программно. Эта возможность особенно ценна для автоматизации отчетов, панелей анализа данных и процессов бизнес‑аналитики, где необходимы согласованные, встраиваемые визуализации.

  • Поддержка нескольких типов диаграмм, включая столбчатые, линейные, гистограммы и круговые диаграммы, через специальные методы add_bar(), add_line(), add_pie() и add_area().
  • Прямое привязывание диапазонов ячеек листа в качестве источников данных с помощью n_series.add() с необязательными аргументами category_data и name.
  • Программное управление заголовками диаграмм через chart.title = "My Title" (присвоение обычной строки).
  • Настройка оси категорий через chart.category_data = "A2:A6".
  • Управление легендой через chart.show_legend и chart.legend_position.
  • Диаграммы типов LINE, BAR, PIE, AREA и STOCK полностью сериализуются в XLSX; другие типы диаграмм вызывают NotImplementedError при сохранении.

Начало работы

Aspose.Cells позволяет разработчикам программно создавать и настраивать диаграммы в электронных таблицах с использованием Python. С минимальным количеством кода вы можете заполнять ячейки листа, добавлять диаграмму, определять её источник данных и применять форматирование, всё без необходимости Microsoft Excel.

from aspose.cells_foss import Workbook, ChartType

# Create a workbook and access the first worksheet
workbook = Workbook()
worksheet = workbook.worksheets[0]

# Populate cells with sample data
worksheet.cells["A1"].value = "Q1"
worksheet.cells["B1"].value = 42
worksheet.cells["A2"].value = "Q2"
worksheet.cells["B2"].value = 78

# Add a bar chart and bind data
chart = worksheet.charts.add_bar(5, 0, 20, 8)
chart.n_series.add("A1:B2", True)

# Save the workbook
workbook.save("chart_output.xlsx")

См. также