Python玩转Excel表!没有哪一门语言能像Python这么牛逼!
可以组合了饼图和圆环图来创建仪表盘图表。 第一个图是带有4个切片的圆环图,前3个切片与仪表盘的颜色对应,第4个切片是圆环的另一半,设置为不可见。 然后,添加含有3个切片的饼图,将第1个和第3个切片设置为不可见,将第2个切片当作仪表盘的指针。 使用数据系列中各个数据点的图形属形来实现效果。代码如下: from openpyxl import Workbook from openpyxl.chart import PieChart,DoughnutChart,Series,Reference from openpyxl.chart.series import DataPoint data= [ ["Donut","Pie"], [25,75], [50,1],124], [100], ] wb= Workbook() ws= wb.active for row in data: ws.append(row) # 第一个图是圆环图 c1= DoughnutChart(firstSliceAng=270,holeSize=50) c1.title= "Code coverage" c1.legend= None ref= Reference(ws,min_col=1,min_row=2,max_row=5) s1= Series(ref,title_from_data=False) slices= [DataPoint(idx=i) fori in range(4)] slices[0].graphicalProperties.solidFill= "FF3300" #红色 slices[1].graphicalProperties.solidFill= "FCF305" #黄色 slices[2].graphicalProperties.solidFill= "1FB174" #绿色 slices[3].graphicalProperties.noFill= True #不可见 s1.data_points= slices c1.series= [s1] # 第二个图是饼图 c2= PieChart(firstSliceAng=270) c2.legend= None ref= Reference(ws,min_col=2,max_col=2,max_row=4) s2= Series(ref,title_from_data=False) slices= [DataPoint(idx=i) fori in range(3)] slices[0].graphicalProperties.noFill= True #不可见 slices[1].graphicalProperties.solidFill= "000000" #黑色针状 slices[2].graphicalProperties.noFill= True #不可见 s2.data_points= slices c2.series= [s2] c1+= c2 # 组合图表 ws.add_chart(c1,"D1") wb.save("gauge.xlsx") 运行代码后,生成的工作簿中的图表如下图1所示。 进群:548377875? ?即可获取大量的学习资料哦! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |