python通过matplotlib生成复合饼图


Posted in Python onFebruary 06, 2020

可以通过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生成复合饼图

图源数据为快餐店销量

总结

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

Python 相关文章推荐
python网络编程学习笔记(五):socket的一些补充
Jun 09 Python
python读取json文件并将数据插入到mongodb的方法
Mar 23 Python
python爬虫headers设置后无效的解决方法
Oct 21 Python
python实现BackPropagation算法
Dec 14 Python
在python中按照特定顺序访问字典的方法详解
Dec 14 Python
python+mysql实现教务管理系统
Feb 20 Python
Python编程学习之如何判断3个数的大小
Aug 07 Python
pytorch载入预训练模型后,实现训练指定层
Jan 06 Python
深入理解Tensorflow中的masking和padding
Feb 24 Python
jupyter lab文件导出/下载方式
Apr 22 Python
Python中requests做接口测试的方法
May 30 Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
Apr 12 Python
tensorflow 初始化未初始化的变量实例
Feb 06 #Python
python中count函数简单的实例讲解
Feb 06 #Python
tensorflow之变量初始化(tf.Variable)使用详解
Feb 06 #Python
使用TensorFlow搭建一个全连接神经网络教程
Feb 06 #Python
详解python 降级到3.6终极解决方案
Feb 06 #Python
PyCharm如何导入python项目的方法
Feb 06 #Python
tensorflow 环境变量设置方式
Feb 06 #Python
You might like
php一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
PHP 上传文件的方法(类)
2009/07/30 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
js保留两位小数使用toFixed实现
2013/07/29 Javascript
AngularJS基础知识笔记之过滤器
2015/05/10 Javascript
js不间断滚动的简单实现
2016/06/03 Javascript
AngularJs html compiler详解及示例代码
2016/09/01 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
2016/11/25 Javascript
angular+ionic 的app上拉加载更新数据实现方法
2017/01/16 Javascript
ES6正则的扩展实例详解
2017/04/25 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
2019/01/30 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
2019/06/10 Javascript
[01:59]深扒TI7聊天轮盘语音出处 1
2017/05/11 DOTA
python自定义解析简单xml格式文件的方法
2015/05/11 Python
简单了解Python下用于监视文件系统的pyinotify包
2015/11/13 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
2017/10/20 Python
详解pyqt5 动画在QThread线程中无法运行问题
2018/05/05 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
2019/02/13 Python
使用Python实现音频双通道分离
2020/12/25 Python
Hanro官网:奢华男士和女士内衣、睡衣和家居服
2018/10/25 全球购物
Etam德国:内衣精品店
2019/08/25 全球购物
新西兰最大的天然保健及护肤品网站:HealthPost(直邮中国)
2021/02/13 全球购物
Python是如何进行类型转换的
2013/06/09 面试题
十八大报告观后感
2014/01/28 职场文书
手术室护士节演讲稿
2014/08/27 职场文书
党的群众路线教育实践活动查摆剖析材料
2014/10/10 职场文书
接收函格式
2015/01/30 职场文书
学生个人总结范文
2015/02/15 职场文书
2016年教代会开幕词
2016/03/04 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
jQuery实现影院选座订座效果
2021/04/13 jQuery
总结几个非常实用的Python库
2021/06/26 Python