可以组合了饼图和圆环图来创建仪表盘图表。
第一个图是带有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 即可获取大量的学习资料哦!
总结以上是内存溢出为你收集整理的Python玩转Excel表!没有哪一门语言能像Python这么牛逼!全部内容,希望文章能够帮你解决Python玩转Excel表!没有哪一门语言能像Python这么牛逼!所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)