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实现的阳历转阴历(农历)算法
Apr 25 Python
python中set常用操作汇总
Jun 30 Python
Python iter()函数用法实例分析
Mar 17 Python
python邮件发送smtplib使用详解
Jun 16 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
Jan 08 Python
检测python爬虫时是否代理ip伪装成功的方法
Jul 12 Python
python 普通克里金(Kriging)法的实现
Dec 19 Python
opencv resize图片为正方形尺寸的实现方法
Dec 26 Python
Django Admin 上传文件到七牛云的示例代码
Jun 20 Python
python装饰器三种装饰模式的简单分析
Sep 04 Python
如何利用python发送邮件
Sep 26 Python
Python中re模块的元字符使用小结
Apr 07 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
法压式咖啡之制作法
2021/03/03 冲泡冲煮
兼容firefox,chrome的网页灰度效果
2011/08/08 PHP
php错误、异常处理机制(补充)
2012/05/07 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
2014/07/08 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
2017/11/21 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
HTML Dom与Css控制方法
2010/10/25 Javascript
JavaScript格式化数字的函数代码
2010/11/30 Javascript
与jquery serializeArray()一起使用的函数,主要来方便提交表单
2011/01/31 Javascript
jQuery的cookie插件实现保存用户登陆信息
2014/04/15 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
基于node实现websocket协议
2016/04/25 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
vue实现全选和反选功能
2017/08/31 Javascript
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
2019/05/24 Javascript
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
2020/12/29 Javascript
python不带重复的全排列代码
2013/08/13 Python
python的paramiko模块实现远程控制和传输示例
2017/10/13 Python
python pandas修改列属性的方法详解
2018/06/09 Python
10分钟教你用Python实现微信自动回复功能
2018/11/28 Python
基于python判断目录或者文件代码实例
2019/11/29 Python
python图形用户接口实例详解
2019/12/16 Python
使用Pytorch搭建模型的步骤
2020/11/16 Python
python SOCKET编程基础入门
2021/02/27 Python
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
质量工程师岗位职责
2013/11/16 职场文书
卖房协议书
2014/04/11 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
兵马俑的导游词
2015/02/02 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书