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挑选文件夹里宽大于300图片的方法
Mar 05 Python
Python3使用requests发闪存的方法
May 11 Python
详解django中url路由配置及渲染方式
Feb 25 Python
pymongo中聚合查询的使用方法
Mar 22 Python
如何用Python来搭建一个简单的推荐系统
Aug 07 Python
Python中的xlrd模块使用原理解析
May 21 Python
PyQt5的QWebEngineView使用示例
Oct 20 Python
python实现图片,视频人脸识别(dlib版)
Nov 18 Python
Python爬虫之Selenium实现窗口截图
Dec 04 Python
python3定位并识别图片验证码实现自动登录功能
Jan 29 Python
Python3+Flask安装使用教程详解
Feb 16 Python
Django对接elasticsearch实现全文检索的示例代码
Aug 02 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 UTF8编码内的繁简转换类
2009/07/20 PHP
利用浏览器的Javascript控制台调试PHP程序
2014/01/08 PHP
php中opendir函数用法实例
2014/11/15 PHP
PHP 读取和编写 XML
2014/11/19 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
2016/02/23 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
2016/10/18 PHP
用JavaScript实现UrlEncode和UrlDecode的脚本代码
2008/07/23 Javascript
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
ExtJS的FieldSet的column列布局
2009/11/20 Javascript
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
2015/10/28 Javascript
jQuery实现的可编辑表格完整实例
2016/06/20 Javascript
js判断一个字符串是以某个字符串开头的简单实例
2016/12/27 Javascript
javascript基础知识讲解
2017/01/11 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
Node.js 8 中的重要新特性
2017/06/28 Javascript
JS实现颜色的10进制转化成rgba格式的方法
2017/09/04 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
2017/11/17 Javascript
玩转Koa之核心原理分析
2018/12/29 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
Python实现快速多线程ping的方法
2015/07/15 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
一百行python代码将图片转成字符画
2021/02/19 Python
Python计算两个矩形重合面积代码实例
2019/09/16 Python
python 字典访问的三种方法小结
2019/12/05 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
python判断变量是否为列表的方法
2020/09/17 Python
HTML5 Canvas如何实现纹理填充与描边(Fill And Stroke)
2013/07/15 HTML / CSS
创业计划书怎样才能打动风投
2014/01/01 职场文书
《白鹅》教学反思
2014/04/13 职场文书
助理政工师申报材料
2014/06/03 职场文书
大学生暑期实践报告之企业经营管理
2019/08/08 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript
讨论nginx location 顺序问题
2022/05/30 Servers