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

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

  1. Импортируйте необходимые модули:
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
  1. Создайте новую книгу Excel и выберите активный лист:
wb = Workbook()
ws = wb.active
  1. Заполните ячейки данными, которые вы хотите отобразить на графике:
# Пример заполнения ячеек данными
data = [
    ['Язык программирования', 'Рейтинг'],
    ['Python', 8],
    ['Java', 6],
    ['JavaScript', 7],
    ['C++', 5],
]
for row in data:
    ws.append(row)
  1. Создайте объект диаграммы:
# Создание объекта диаграммы
chart = BarChart()
  1. Определите диапазон значений, которые будут использоваться для построения диаграммы:
# Определение диапазона значений для диаграммы
values = Reference(ws, min_col=2, min_row=2, max_col=2, max_row=5)

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

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

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

  1. Привяжите выбранные значения к диаграмме:
# Привязка значений к диаграмме
chart.add_data(values, titles_from_data=True)
chart.set_categories(categories)
  1. Добавьте диаграмму на лист:
# Добавление диаграммы на лист
ws.add_chart(chart, "E2")

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

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

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

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