Hướng dẫn tạo biểu đồ cột (BarChart) trong file Excel .xlsx dùng module openpyxl.
Các bước:
- Cài đặt:
pip install openpyxl. - Tạo workbook, sheet, ghi dữ liệu (ví dụ: cầu thủ tennis và số Grand Slam).
- Lưu file, đọc lại để xác nhận.
- Import
BarChart, Referencetừopenpyxl.chart. - Cấu hình biểu đồ: title, trục x/y.
- Tạo
Referencetrỏ đến vùng dữ liệu (bỏ header). chart.add_data(data, from_rows=True, titles_from_data=True).- Thêm biểu đồ vào sheet:
sheet.add_chart(chart, "A6"). - Lưu file.
Ví dụ hoàn chỉnh
import openpyxl
from openpyxl.chart import BarChart, Reference
file_name = "charts.xlsx"
file_data = (['player','titles'], ['Federer',20], ['Nadal',20], ['Djokovic',17], ['Murray',3])
xlsxfile = openpyxl.Workbook()
sheet = xlsxfile['Sheet']
for row, (player, titles) in enumerate(file_data, 1):
sheet[f'A{row}'].value = player
sheet[f'B{row}'].value = titles
xlsxfile.save(file_name)
wb = openpyxl.load_workbook(file_name)
ws = wb['Sheet']
chart = BarChart()
chart.title = "Players & Grand Slams"
chart.y_axis.title = 'Titles'
chart.x_axis.title = 'Tennis Players'
data = Reference(ws, min_row=2, max_row=5, min_col=1, max_col=2)
chart.add_data(data, from_rows=True, titles_from_data=True)
ws.add_chart(chart, "A6")
wb.save(file_name)
Kết quả
File charts.xlsx chứa bảng dữ liệu và biểu đồ cột.