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实现的一个自动售饮料程序代码分享
Aug 25 Python
python进阶教程之循环对象
Aug 30 Python
python基础入门学习笔记(Python环境搭建)
Jan 13 Python
Python实现的计算马氏距离算法示例
Apr 03 Python
对python 多线程中的守护线程与join的用法详解
Feb 18 Python
python调用外部程序的实操步骤
Mar 04 Python
python安装requests库的实例代码
Jun 25 Python
Python pandas自定义函数的使用方法示例
Nov 20 Python
python实现简单颜色识别程序
Feb 19 Python
基于Python实现全自动下载抖音视频
Nov 06 Python
python状态机transitions库详解
Jun 02 Python
Python数据可视化之用Matplotlib绘制常用图形
Jun 03 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
How do I change MySQL timezone?
2008/03/26 PHP
PHP实现视频文件上传完整实例
2014/08/28 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
2015/04/03 PHP
thinkPHP模板算术运算相关函数用法分析
2016/07/12 PHP
laravel自定义分页效果
2017/07/23 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
javascript生成json数据简单示例分享
2014/02/14 Javascript
Node.js 去掉种子(torrent)文件里的邪恶信息
2015/03/27 Javascript
jQuery使用ajax跨域获取数据的简单实例
2016/05/18 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
原生js仿jquery实现对Ajax的封装
2016/10/04 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例
2017/08/17 Javascript
vue项目中使用axios上传图片等文件操作
2017/11/02 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
2017/12/22 Javascript
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
跨平台python异步回调机制实现和使用方法
2013/11/26 Python
解析python的局部变量和全局变量
2019/08/15 Python
Python制作词云图代码实例
2019/09/09 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
python实现从wind导入数据
2019/12/03 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
python实现按日期归档文件
2021/01/30 Python
中科创达面试题
2016/12/28 面试题
工作决心书范文
2014/03/11 职场文书
毕业生自荐材料范文
2014/12/30 职场文书
《风筝》教学反思
2016/02/23 职场文书
Python 实现绘制子图及子图刻度的变换等问题
2021/05/31 Python
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python
Nginx本地配置SSL访问的实例教程
2022/05/30 Servers
springboot实现string转json json里面带数组
2022/06/16 Java/Android