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原始字符串(raw strings)用法实例
Oct 13 Python
python内存管理分析
Apr 08 Python
Python对List中的元素排序的方法
Apr 01 Python
Python高级特性切片(Slice)操作详解
Sep 27 Python
python对绑定事件的鼠标、按键的判断实例
Jul 17 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
Aug 14 Python
python sorted方法和列表使用解析
Nov 18 Python
PyCharm使用之配置SSH Interpreter的方法步骤
Dec 26 Python
Django分组聚合查询实例分享
Apr 29 Python
Python2.6版本pip安装步骤解析
Aug 17 Python
Python实现自动签到脚本功能
Aug 20 Python
详解Django的MVT设计模式
Apr 29 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
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
php XPath对XML文件查找及修改实现代码
2011/07/27 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
2017/02/23 PHP
PHP实现链表的定义与反转功能示例
2018/06/09 PHP
JS控制表格隔行变色
2006/06/26 Javascript
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
JavaScript 字符串连接性能优化
2008/12/20 Javascript
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
JQuery 网站换肤功能实现代码
2009/11/02 Javascript
$("").click与onclick的区别示例介绍
2014/09/25 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
js实现带圆角的两级导航菜单效果代码
2015/08/24 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
2017/04/28 Javascript
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
JavaScript数组去重实现方法小结
2020/01/17 Javascript
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
Python中join函数简单代码示例
2018/01/09 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
Python 实现Windows开机运行某软件的方法
2018/10/14 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
Python中bisect的用法及示例详解
2020/07/20 Python
Python列表元素删除和remove()方法详解
2021/01/04 Python
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
精彩的推荐信范文
2013/11/26 职场文书
体育教育个人自荐信范文
2013/12/01 职场文书
前台文员岗位职责
2013/12/28 职场文书
村委会贫困证明
2014/01/14 职场文书
辞旧迎新演讲稿
2014/09/15 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
2016年元旦致辞
2015/08/01 职场文书
小学语文教师研修感悟
2015/11/18 职场文书