data = load_workbook(path) # 加载excel表,path是自己本地excel存放的地址
dat = data['Sheet2'] # Sheet2 是指定哪个sheet页,
chart = LineChart() # 个人理解为声明一个数据变量
datas = Reference(dat, min_row=2, max_row=3, min_col=1, max_col=13) # 此步骤比较重要,下详解,此步骤标注为1
line_data = Reference(dat, min_row=1,max_row=1, min_col=2, max_col=13)# 此步骤比较重要,下详解,此步骤标注为2
chart.add_data(datas,from_rows=True,titles_from_data=True)
chart.set_categories(line_data)
dat.add_chart(chart,'F20')
data.save(path)
网上也是找了好多资料才明白上面标注的步骤1和步骤2的意义以及区别
首先:我们要明白 画出的折线图是有两个维度的,一个是X轴,一个是Y轴,还有一个重要点就是标题,标题就是显示折线图里面有几条线的,比如两个标题就是里面有两个折线,三个标题就是有三个折线
步骤1:此步骤需要填写五个参数,第一个是填写声明的数据变量,后面四个填写的是数据区域,如下图
假设我们需要根据两个店来区分每个月的数据(也就是标题,也就是会显示多少条折线),那就是红框里面的数据区域,min_row=2, max_row=3, min_col=1, max_col=13 也就代表了红框的区域。(行和列都是从1开始的)
有些同学可能在这里不是很明白,我再弄个竖着的数据,如下:
假设我们需要根据两个店来区分数据,那此时步骤1里面的后四个参数就应该是:min_row=1, max_row=13, min_col=2, max_col=3.(注意:如果数据是这种排列 则添加数据时需要这样写:
chart.add_data(datas,titles_from_data=True)
)
步骤2:这个步骤的意思就是 我们需要显示的X轴上的字符串了,如下图:
如果我们是按两个店来区分的,此时我们需要X轴显示各个月份,那步骤2后面四个参数也就代表了红框的区域:min_row=1,max_row=1, min_col=2, max_col=13,
此时就很明白了。
chart.add_data(datas,from_rows=True,titles_from_data=True) # 此步骤是将步骤1的数据加入到表格中
chart.set_categories(line_data) # 此步骤是将步骤2的X轴显示的信息加入到表格中
最后缓存 执行 就会显示下面的折线图了