当前位置: 首页 > 编程笔记 >

python通过matplotlib生成复合饼图

童花蜂
2023-03-14
本文向大家介绍python通过matplotlib生成复合饼图,包括了python通过matplotlib生成复合饼图的使用技巧和注意事项,需要的朋友参考一下

可以通过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.index
size = newdata8.quantity
explode=(0,0,0,0,0,0.1)
ax1.pie(size, autopct='%1.1f%%',startangle=30,labels=labels,explode=explode)
#小饼图的制作
labels2 = others.index
size2 = others.quantity
width=0.2
ax2.pie(size2, autopct='%1.1f%%',startangle=90,labels=labels2,
    radius=0.5,shadow=True)
#使用ConnectionPatch画出两个饼图的间连线
#先得到饼图边缘的数据
theta1, theta2 = ax1.patches[5].theta1, ax1.patches[5].theta2
center, 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)
plt.show()

输出:

图源数据为快餐店销量

总结

以上所述是小编给大家介绍的python通过matplotlib实现生成复合饼图,希望对大家有所帮助!

 类似资料:
  • 饼状图用来显示一个数据系列,具体来说,饼状图显示一个数据系列中各项目的占项目总和的百分比。 Matplotlib 提供了一个 pie() 函数,该函数可以生成数组中数据的饼状图。您可使用 x/sum(x) 来计算各个扇形区域占饼图总和的百分比。pie() 函数的参数说明如下: X 数组序列,数组元素对应扇形区域的数量大小。 labels 列表字符串序列,为每个扇形区域备注一个标签名字。 color

  • 本文向大家介绍Python matplotlib绘制饼状图功能示例,包括了Python matplotlib绘制饼状图功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python matplotlib绘制饼状图功能。分享给大家供大家参考,具体如下: 一 代码 二 运行结果 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结

  • 本文向大家介绍PHP+mysql+Highcharts生成饼状图,包括了PHP+mysql+Highcharts生成饼状图的使用技巧和注意事项,需要的朋友参考一下 Mysql 首先我们建一张·chart_pie·表作为统计数据。 PHP 在pie.php我们要生成数据给前端调用: 此外,格式化数据市,如果要显示百分比,可使用this.percentage,Highcharts会自动将整数转换为百分

  • 问题内容: 我需要在maven pom.xml文件中设置一个属性,该属性应该是UUID。谁能告诉我 将属性设置为UUID的最佳方法是什么? 我正在使用启动gigaspaces的配置文件,并且gigaspaces需要组名, 想要唯一(uuid)。因此,在我的个人资料中,我想设置一个groupName属性值 每次构建都应更改。我自己写了一个UUIDGenerator插件,因为没有找到任何插件。 因此,

  • 本文向大家介绍java生成饼图svg及JFreeChart生成svg图表,包括了java生成饼图svg及JFreeChart生成svg图表的使用技巧和注意事项,需要的朋友参考一下 Jfreechart本身不能生成SVG图形,但是可以借助另外一个东西,辅助生成.好像是这个:batik ,具体代码请看下文 一:Java生成svg饼图,附带了一个标签显示各个颜色代表的部分 二.java生成SVG 3D饼

  • 问题内容: 我从这样的网络应用程序中生成了一个可以长时间运行的脚本: 脚本成功生成并运行,但是直到结束为止,我无法释放该Web应用程序使用的端口,换句话说,我无法重新启动该Web应用程序。我如何产生一个流程并使它完全独立于Web应用程序? 这是在Linux操作系统上。 问题答案: 正如@mark所阐明的那样,它是一个Linux系统,通过遵循此食谱,脚本可以轻松地使其自身完全独立,即 守护程序 。(