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处理csv数据的方法
Mar 11 Python
python中常用检测字符串相关函数汇总
Apr 15 Python
Python2.7读取PDF文件的方法示例
Jul 13 Python
python扫描proxy并获取可用代理ip的实例
Aug 07 Python
Python实现的圆形绘制(画圆)示例
Jan 31 Python
python 获取utc时间转化为本地时间的方法
Dec 31 Python
Python提取频域特征知识点浅析
Mar 04 Python
python异步实现定时任务和周期任务的方法
Jun 29 Python
python pygame实现球球大作战
Nov 25 Python
查看jupyter notebook每个单元格运行时间实例
Apr 22 Python
详解查看Python解释器路径的两种方式
Oct 15 Python
Python 实现进度条的六种方式
Jan 06 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修正代码
2011/05/09 PHP
CodeIgniter安全相关设置汇总
2014/07/03 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
判断用户的在线状态 onbeforeunload事件
2011/03/05 Javascript
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
js相册效果代码(点击创建即可)
2013/04/16 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
2015/02/25 Javascript
js实现横向伸展开的二级导航菜单代码
2015/08/28 Javascript
nodejs基础应用
2017/02/03 NodeJs
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
JS写谷歌浏览器chrome的外挂实例
2018/01/11 Javascript
微信小程序使用swiper组件实现类3D轮播图
2018/08/29 Javascript
JS二级菜单不同实现方法分析【4种方法】
2018/12/21 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
2020/06/02 jQuery
python机器学习实战之树回归详解
2017/12/20 Python
Django1.9 加载通过ImageField上传的图片方法
2018/05/25 Python
python实现C4.5决策树算法
2018/08/29 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
python实现tail -f 功能
2020/01/17 Python
CSS3旋转——彩色扇子兼容firefox浏览器
2013/06/04 HTML / CSS
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
First Aid Beauty官网:FAB急救面霜
2018/05/24 全球购物
加热夹克:RAVEAN
2018/10/19 全球购物
英国家居用品和床上用品零售商:P&B Home
2020/01/16 全球购物
Oracle的内存结构(Memory structures)
2015/06/10 面试题
节约用水的口号
2014/06/20 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
Python入门学习之类的相关知识总结
2021/05/25 Python
MyBatis 动态SQL全面详解
2021/10/05 MySQL