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定时采集摄像头图像上传ftp服务器功能实现
Dec 23 Python
python判断、获取一张图片主色调的2个实例
Apr 10 Python
详细分析python3的reduce函数
Dec 05 Python
python实现ID3决策树算法
Dec 20 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
Nov 07 Python
python画图系列之个性化显示x轴区段文字的实例
Dec 13 Python
scrapy-redis的安装部署步骤讲解
Feb 27 Python
Python学习笔记之自定义函数用法详解
Jun 08 Python
python pygame实现挡板弹球游戏
Nov 25 Python
Python实现图像去噪方式(中值去噪和均值去噪)
Dec 18 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
Feb 18 Python
Keras 中Leaky ReLU等高级激活函数的用法
Jul 05 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上传图片、删除图片实现代码
2010/05/12 PHP
php curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
PHP以指定字段为索引返回数据库所取的数据数组
2013/06/30 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
js选取多个或单个元素的实现代码(用class)
2012/08/22 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
解决Node.js使用MySQL出现connect ECONNREFUSED 127.0.0.1:3306的问题
2017/03/09 Javascript
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
详解Vue + Vuex 如何使用 vm.$nextTick
2017/11/20 Javascript
AngularJS基于http请求实现下载php生成的excel文件功能示例
2018/01/23 Javascript
AngularJS $http post 传递参数数据的方法
2018/10/09 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
2019/04/08 Javascript
微信小程序关键字变色实现代码实例
2019/12/13 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
python用pickle模块实现“增删改查”的简易功能
2017/06/07 Python
Django中ORM表的创建和增删改查方法示例
2017/11/15 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
2018/04/22 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
2018/06/26 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
selenium+headless chrome爬虫的实现示例
2021/01/08 Python
利用html5 canvas动态画饼状图的示例代码
2018/04/02 HTML / CSS
HTML5中外部浏览器唤起微信分享
2020/01/02 HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
杭州龙健科技笔试题.net部分笔试题
2016/01/24 面试题
Jdbc数据访问技术面试题
2012/03/30 面试题
广告学专业自荐信范文
2014/02/24 职场文书
党的群众路线教育实践活动个人对照检查材料(医生)
2014/11/05 职场文书
教你用Python爬取英雄联盟皮肤原画
2021/06/13 Python
关于 Python json中load和loads区别
2021/11/07 Python