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使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
May 15 Python
python实现批量解析邮件并下载附件
Jun 19 Python
Python提取特定时间段内数据的方法实例
Apr 01 Python
Python将json文件写入ES数据库的方法
Apr 10 Python
详解python中的生成器、迭代器、闭包、装饰器
Aug 22 Python
python异常处理和日志处理方式
Dec 24 Python
Python+OpenCV实现图像的全景拼接
Mar 05 Python
Spark处理数据排序问题如何避免OOM
May 21 Python
Python中的全局变量如何理解
Jun 04 Python
python 中 .py文件 转 .pyd文件的操作
Mar 04 Python
python函数指定默认值的实例讲解
Mar 29 Python
Python道路车道线检测的实现
Jun 27 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缓存技术介绍
2006/11/25 PHP
PHP的SQL注入实现(测试代码安全不错)
2011/02/27 PHP
PHP return语句的另一个作用
2014/07/30 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
2016/04/28 PHP
php生成txt文件实例代码介绍
2016/04/28 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
【消息提示组件】,兼容IE6/7&&FF2
2007/09/04 Javascript
原生js实现给指定元素的后面追加内容
2013/04/10 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
jQuery中hasClass()方法用法实例
2015/01/06 Javascript
原生Js实现简易烟花爆炸效果的方法
2015/03/20 Javascript
Bootstrap零基础入门教程(三)
2016/07/18 Javascript
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
[00:32]2016完美“圣”典风云人物:Maybe宣传片
2016/12/05 DOTA
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
2016/07/02 Python
python将文本分每两行一组并保存到文件
2018/03/19 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
2019/12/11 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
解决Pycharm 运行后没有输出的问题
2021/02/05 Python
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
护理学毕业生自荐信
2013/10/02 职场文书
优秀的导游求职信范文
2014/04/06 职场文书
合作经营协议书范本
2014/09/16 职场文书
2016年青少年禁毒宣传教育活动总结(学校)
2016/04/05 职场文书
MySQL索引知识的一些小妙招总结
2021/05/10 MySQL
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python
SQL实现LeetCode(176.第二高薪水)
2021/08/04 MySQL
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技