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 strip lstrip rstrip使用方法
Sep 06 Python
python中常用的各种数据库操作模块和连接实例
May 29 Python
Python通过poll实现异步IO的方法
Jun 04 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
Aug 08 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
Jan 09 Python
基于Python log 的正确打开方式
Apr 28 Python
浅谈dataframe中更改列属性的方法
Jul 10 Python
使用python获取电脑的磁盘信息方法
Nov 01 Python
详解如何用django实现redirect的几种方法总结
Nov 22 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
python使用OpenCV模块实现图像的融合示例代码
Apr 10 Python
详解python实现可视化的MD5、sha256哈希加密小工具
Sep 14 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连mysql和oracle数据库性能比较
2006/10/09 PHP
利用PHP和AJAX创建RSS聚合器的代码
2007/03/13 PHP
php实现MD5加密16位(不要默认的32位)
2013/08/12 PHP
mac下安装nginx和php
2013/11/04 PHP
php生成验证码函数
2015/10/20 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
2007/11/30 Javascript
juqery 学习之四 筛选查找
2010/11/30 Javascript
js数组的操作详解
2013/03/27 Javascript
使用纯javascript实现经典扫雷游戏
2015/04/23 Javascript
jQuery validate验证插件使用详解
2016/05/11 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
激动人心的 Angular HttpClient的源码解析
2017/07/10 Javascript
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
JS随机数产生代码分享
2018/02/24 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
Cpy和Python的效率对比
2015/03/20 Python
JSON文件及Python对JSON文件的读写操作
2018/10/07 Python
Django shell调试models输出的SQL语句方法
2019/08/29 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
Python定义函数时参数有默认值问题解决
2019/12/19 Python
Python模块future用法原理详解
2020/01/20 Python
使用css3实现的tab选项卡代码分享
2014/12/09 HTML / CSS
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
init进程的作用
2015/08/20 面试题
服务之星获奖感言
2014/01/21 职场文书
志愿者活动总结
2014/04/28 职场文书
超市仓管员岗位职责范本
2014/09/18 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
幽灵公主观后感
2015/06/09 职场文书
2015年小学生暑假总结
2015/07/13 职场文书
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android
Golang 并发下的问题定位及解决方案
2022/03/16 Golang