Как правильно давать значения дли диаграмм в openpyxl?

В библиотеке openpyxl, которая является мощным инструментом для работы с форматом Excel в Python, можно создавать диаграммы для визуализации данных. Для того чтобы задать значения для диаграммы, следует использовать класс Reference из модуля openpyxl.chart. Рассмотрим подробнее, как правильно задавать значения для диаграмм в openpyxl.

1. Импортируйте необходимые модули:

from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference

2. Создайте новую книгу Excel и выберите активный лист:

wb = Workbook()
ws = wb.active

3. Заполните ячейки данными, которые вы хотите отобразить на графике:

# Пример заполнения ячеек данными
data = [
    ['Язык программирования', 'Рейтинг'],
    ['Python', 8],
    ['Java', 6],
    ['JavaScript', 7],
    ['C++', 5],
]
for row in data:
    ws.append(row)

4. Создайте объект диаграммы:

# Создание объекта диаграммы
chart = BarChart()

5. Определите диапазон значений, которые будут использоваться для построения диаграммы:

# Определение диапазона значений для диаграммы
values = Reference(ws, min_col=2, min_row=2, max_col=2, max_row=5)

В данном примере диапазон значений от B2 до B5 выбирается с помощью Reference.

6. Установите значения для оси X:

# Установка значений для оси X
categories = Reference(ws, min_col=1, min_row=3, max_row=5)

В данном примере значения для оси X будут взяты из диапазона A3:A5.

7. Привяжите выбранные значения к диаграмме:

# Привязка значений к диаграмме
chart.add_data(values, titles_from_data=True)
chart.set_categories(categories)

8. Добавьте диаграмму на лист:

# Добавление диаграммы на лист
ws.add_chart(chart, "E2")

В данном примере диаграмма будет добавлена в ячейку E2 листа.

9. Сохраните файл Excel:

# Сохранение файла
wb.save("diagram.xlsx")

В результате будет создан файл "diagram.xlsx" с диаграммой, отражающей заданные значения.

Таким образом, используя библиотеку openpyxl, можно создавать и настраивать диаграммы в Excel файле, задавая нужные значения для отображения данных. Это позволяет визуализировать информацию и делать ее более понятной и наглядной.