在上次的推文中,我们介绍了opnepyxl和numpy、pandas的结合使用的一些简单案例,相关推文可以从本公众号的底部相关菜单获取。接下来的推文我们来看一下在openpyxl中是怎么设置图表,或者说来看看图表中的相关知识。
一、图表种类
openpyxl中支持的图表种类比较丰富,有面积图、条形图、柱形图、散点图和饼状图等等,具体的图表种类显示如下:
这里列举了一些相关的图表种类,实际的工作中,我们可根据自己的需要进行图表的设置,一些相应的用法我们可以从在这个链接里找到答案,图表种类链接如下:
https://openpyxl.readthedocs.io/en/stable/charts/introduction.html#chart-types
二、创建图表
我们先学习一下怎么简单的在Excel中创建一个树状图,我们先看代码:
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference, Series
workbook = Workbook()
worksheet = workbook.active
for i in range(10):
worksheet.append([i])
values = Reference(worksheet, min_col=1, min_row=1, max_col=1, max_row=10)
chart = BarChart()
chart.add_data(values)
worksheet.add_chart(chart, "C1")
workbook.save("TestChart.xlsx")
我们先看一下生成的"TestChart.xlsx"结果:
代码解释:
第3-6行代码用于创建一个新的工作簿并写入0-10的数据。 第7行代码设置表格的数据范围,最大行为10。 第8行和第9行代码分别为新建一个chart对象,写入相应的数据。 第10行代码将表格添加到Excel中,“C1”表示图表在Excel中的左上角位置。
官方文档中介绍到:
默认情况下,图表的左上角固定在单元格E15上,大小为15 x 7.5厘米(大约5列14行)。可以通过设置图表的anchor,width和height属性来更改。实际大小将取决于操作系统和设备。可参考openpyxl.drawing.spreadsheet_drawing资料。
上述的默认参数我们可以在“_char.py”的类CharBase()中找到相应的默认设置值,截
图如下:
也就是说我们可以自己设置图表的一些属性,比如我们更改上述