可以组合了饼图和圆环图来创建仪表盘图表。
第一个图是带有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")
进群:548377875 即可获取大量的学习资料哦!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。