可以多次填加图形中数据,以列为准,只要有列变化,就增加一个图形 用add_data添加 type:类型,可以是竖形col,可以是横条:bar title:图的标题 y_axis.title:Y轴标题 x_axis.title:X轴标题 style:图形颜色搭配,共8种 height:图高 width:图宽 dLbls=label.DataLabelList():显示图表中数据 dLbls.showVal=True 与上面一起使用显示数据
# wbsheet.row_dimensions['1'].height = 10
coldata=32
collists1=[3,5,7] #收入,成本,利润
collists2=[9,11,13,15] #销售、管理、财务费用及合计
collists3=[3,19,7,21] #收入、利润与指标对比
collists4=[5,20,15,22] #成本、三项费用与指标对比
for chartnum in range(chart_nums):
namelist=wbsheet.cell( chartnum*(15+contrast)+2,2).value
#print('名字',namelist)
chart=BarChart() #柱形图
chart.title=namelist+' 营业指标'
chart.y_axis.title="金额"
chart.x_axis.title="年份"
for collist1 in collists1:
chartdata=Reference(wbsheet, min_col=collist1, min_row=chartnum*(15+contrast)+1, max_row=chartnum*(15+contrast)+3, max_col=collist1)
chart.add_data(chartdata,titles_from_data=True) #把第一行当表例时,titles_from_data=True
xtitle=Reference(wbsheet, min_col=coldata, min_row=contrast, max_row=contrast+1) #取得月份列为横行
chart.set_categories(xtitle)
chart.type = "col" #可以是'bar' 横条
chart.shape = 5
chart.height = 6.5 # default is 7.5
chart.width = 15 # default is 15
chart.style = 2 #1-8种可以使用,颜色不同,1为灰
chart.dLbls=label.DataLabelList() #与下面的一起用,显示数据from openpyxl.chart import label
chart.dLbls.showVal=True
chart.showVal=True
wbsheet.add_chart(chart,'A'+str(chartnum*(15+contrast)+4))
|