openpyxl 支持用Excel工作表中单元格的数据,创建条形图、折线图、散点图和饼图等。
在openpyxl模块中创建图表,步骤如下:
①选择一个单元格区域,创建Reference 对象,作为图形数据a)(Value)。
②创建一个Chart对象
③将数据添加到 Chart 对象
④修饰Chart对象,包括图形标题、分类名称、轴名称、画布大小、图样式。
⑤将Chart 对象添加到Worksheet 对象
from openpyxl.chart import BarChart, Reference
# 创建Excel工作簿和工作表
wb = Workbook()
ws = wb.active
# 准备数据并将其写入工作表中
data = [["月份","华南","华东"],
["1月", 1000,1200],
["2月", 1500,1800],
["3月", 800,1300],
["4月", 1200,1000],
["5月", 600,800]
]
for row in data:
ws.append(row)
# 创建一个条形图对象
chart = BarChart()
# 设置条形图的数据源范围
data_range = Reference(ws, min_col=2, min_row=1, max_row=ws.max_row, max_col=3)
chart.add_data(data_range, titles_from_data=True)
categories = Reference(ws, min_col=1, min_row=2, max_row=6)
chart.set_categories(categories) #修改分类名称
chart.title=“月度销量对比” #设置标题
chart.x_axis.title=“月份” #设置X轴标签
chart.y_axis.title=“销量” #设置Y轴标签
chart.style=11
# 将条形图添加到工作表中,指定图表位置
ws.add_chart(chart, "E5")
# 保存Excel文件
wb.save("全国销售统计.xlsx")