📅  最后修改于: 2023-12-03 15:34:06.294000             🧑  作者: Mango
openpyxl 是一个专门用于读写Excel文件的Python库,支持xlsx/xlsm/xltx/xltm等多种格式的文件操作。该库提供了一个方便的方法来创建和处理Excel文件中的图表,使用了openpyxl,可以将一些数据和信息导入Excel文件中,并在其中制作图表,实现数据可视化的效果。
在使用openpyxl方法前,需要先安装openpyxl库,可使用pip命令来进行安装。
pip install openpyxl
在制作图表前,需要先在Excel文件中打开相关的表格。在本例中,我们使用如下表格。
| | A | B | C | | --- | ------ | ---- | - | | 1 | Number | Cost | | | 2 | 1 | 50 | | | 3 | 2 | 75 | | | 4 | 3 | 60 | | | 5 | 4 | 80 | |
使用openpyxl的子模块openpyxl.chart绘制图表,可以创建多种类型的图表。
首先,需要导入相应的模块。
from openpyxl import Workbook
from openpyxl.chart import (
PieChart,
BarChart,
Reference
)
from openpyxl.chart.series import DataPoint
饼图是一种圆形的统计图表,常常用于表示数据的相对大小。
# 新建工作簿,并选择活动表
wb = Workbook()
ws = wb.active
# 填充数据
for row in [
['Number', 'Cost'],
[1, 50],
[2, 75],
[3, 60],
[4, 80],
]:
ws.append(row)
# 创建饼图
pie = PieChart()
labels = Reference(ws, min_col=1, min_row=2, max_row=5)
data = Reference(ws, min_col=2, min_row=2, max_row=5)
pie.add_data(data, titles_from_data=True)
pie.set_categories(labels)
# 将图表插入到工作表
ws.add_chart(pie, "C7")
# 保存工作簿
wb.save("pie.xlsx")
通过以上代码,便绘制了一个饼图,图表如下:
条形图常常用于比较各种数据之间的差异或展示数值随时间的变化趋势。
# 新建工作簿并选择活动表
wb = Workbook()
ws = wb.active
# 填充数据
for row in [
["Number", "Cost"],
[1, 50],
[2, 75],
[3, 60],
[4, 80],
]:
ws.append(row)
# 创建条形图
bar = BarChart()
bar.type = "col"
bar.style = 10
bar.title = "Cost Chart"
bar.y_axis.title = "Cost ($)"
bar.x_axis.title = "Item Number"
data = Reference(ws, min_col=2, min_row=1, max_row=5)
categories = Reference(ws, min_col=1, min_row=2, max_row=5)
bar.add_data(data, titles_from_data=True)
bar.set_categories(categories)
# 将图表插入到工作表
ws.add_chart(bar, "C7")
# 保存工作簿
wb.save("bar.xlsx")
通过以上代码,便绘制了一个条形图,图表如下:
本文简单介绍了如何使用openpyxl制作Excel中的图表。openpyxl提供了多种类型的图表,可以根据实际需要选择不同的方式进行数据可视化。通过该库,可以轻松地将数据导入Excel中,并实现了数据的可视化效果。