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 时间戳与格式化时间的转化实现代码
Mar 23 Python
使用python3+xlrd解析Excel的实例
May 04 Python
python挖矿算力测试程序详解
Jul 03 Python
在Django的View中使用asyncio的方法
Jul 12 Python
python用线性回归预测股票价格的实现代码
Sep 04 Python
什么是Python变量作用域
Jun 03 Python
python GUI模拟实现计算器
Jun 22 Python
Python字符串查找基本操作代码案例
Oct 27 Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
Nov 05 Python
解决Django transaction进行事务管理踩过的坑
Apr 24 Python
python实现三次密码验证的示例
Apr 29 Python
Appium中scroll和drag_and_drop根据元素位置滑动
Feb 15 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
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
2014/08/28 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
php使用PDO获取结果集的方法
2017/02/16 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
匹配任意字符的正则表达式写法
2010/04/29 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
javascript利用apply和arguments复用方法
2013/11/25 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
2015/06/14 Javascript
基于javascript编写简单日历
2016/05/02 Javascript
javascript动画之磁性吸附效果篇
2016/12/09 Javascript
使用 Vue.js 仿百度搜索框的实例代码
2017/05/09 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
python获取mp3文件信息的方法
2015/06/15 Python
Python中函数参数调用方式分析
2018/08/09 Python
Python读取YUV文件,并显示的方法
2018/12/04 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
2019/07/31 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
2019/12/19 Python
Django xadmin安装及使用详解
2020/10/26 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
美国性感女装网站:bebe
2017/03/04 全球购物
Expedia西班牙:预订酒店、机票、旅行和廉价度假套餐
2019/04/10 全球购物
Hello Molly美国:女性时尚在线
2019/08/26 全球购物
精选干货:Java精选笔试题附答案
2014/01/18 面试题
《画家乡》教学反思
2014/04/22 职场文书
2015年上半年信访工作总结
2015/03/30 职场文书
党员发展大会主持词
2015/07/03 职场文书
高并发下Redis如何保持数据一致性(避免读后写)
2022/03/18 Redis
在SQL Server中使用 Try Catch 处理异常的示例详解
2022/07/15 SQL Server