时间:2021-05-22
可以通过matplotlib实现
from matplotlib.patches import ConnectionPatch#制画布fig = plt.figure(figsize=(9,5.0625))ax1 = fig.add_subplot(121)ax2 = fig.add_subplot(122)fig.subplots_adjust(wspace=0)#大饼图的制作labels = newdata8.indexsize = newdata8.quantityexplode=(0,0,0,0,0,0.1)ax1.pie(size, autopct='%1.1f%%',startangle=30,labels=labels,explode=explode)#小饼图的制作labels2 = others.indexsize2 = others.quantitywidth=0.2ax2.pie(size2, autopct='%1.1f%%',startangle=90,labels=labels2, radius=0.5,shadow=True)#使用ConnectionPatch画出两个饼图的间连线#先得到饼图边缘的数据theta1, theta2 = ax1.patches[5].theta1, ax1.patches[5].theta2center, r = ax1.patches[5].center,ax1.patches[5].r#画出上边缘的连线x = r*np.cos(np.pi/180*theta2)+center[0]y = np.sin(np.pi/180*theta2)+center[1]con = ConnectionPatch(xyA=(-width/2,0.5),xyB=(x,y), coordsA='data', coordsB='data',axesA=ax2,axesB=ax1)con.set_linewidth(2)con.set_color=([0,0,0])ax2.add_artist(con)#画出下边缘的连线x = r*np.cos(np.pi/180*theta1)+center[0]y = np.sin(np.pi/180*theta1)+center[1]con = ConnectionPatch(xyA=(-width/2,-0.5),xyB=(x,y), coordsA='data', coordsB='data',axesA=ax2,axesB=ax1)con.set_linewidth(2)con.set_color=([0,0,0])ax2.add_artist(con)输出:
图源数据为快餐店销量
总结
以上所述是小编给大家介绍的python通过matplotlib实现生成复合饼图,希望对大家有所帮助!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
你还在为Excel复合条饼图怎么做而苦恼吗,下面教你Excel复合条饼图怎么做,让你告别Excel复合条饼图怎么做的烦恼。 1、选中表格数据区域&mdas
你还在为Excel复合条饼图怎么做而苦恼吗,今天小编教你Excel复合条饼图怎么做,让你告别Excel复合条饼图怎么做的烦恼。软件名称:Excel2007绿色版
本文实例讲述了Python使用matplotlib的pie函数绘制饼状图功能。分享给大家供大家参考,具体如下:matplotlib具体安装方法可参考前面一篇ht
本文是从matplotlib官网上摘录下来的一个实例,实现的功能是Python+matplotlib绘制自定义饼图作为散点图的标记,具体如下。首先看下演示效果实
子母饼图又叫复合饼图,可以展示各个类别以及某个主要类别的占比情况。下面分享一个短平快的制作子母饼图技巧。 1、我们以出行的交通工具为例进行测试。 2、首