可以通过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实现生成复合饼图,希望对大家有所帮助!

时间: 2020-02-04

python绘制饼图explode_python通过matplotlib生成复合饼图相关推荐

  1. python绘制时间序列图_python matplotlib 画dataframe的时间序列图实例

    python matplotlib 画dataframe的时间序列图实例 在python中经常会用到pandas来处理数据,最常用的数据类型是dataframe,但是有时候在dataframe有时间字 ...

  2. python绘制等值线图_使用matplotlib绘制等值线图

    等值线图 等值线图或等高线图在科学界很常用.这种可视化方法用由一圈圈封闭的曲线组成的等值线图表示三维结构的表面,其中封闭的曲线表示的是一个个处于同一层级或z值相同的数据点. 虽然等值线图看上去结构很复 ...

  3. python绘制时间轴_python – matplotlib图中的链接时间轴(x轴)

    这是基于生成第二个x轴,如上一篇文章所述: 下面是生成具有两个x轴的图的代码,该图表示相同数据的两个不同时间单位:相对时间(rel_time)和绝对时间(abs_time).虽然上述方法很好地生成了两 ...

  4. python绘制随机数直方图-用matplotlib画直方图(histogram)

    在matplotlib中,ax.plot函数是用来画曲线的,而ax.hist函数则用来画直方图(histogram). 下面我们用python代码换一个直方图,10000个符合正态分布的随机数,将他们 ...

  5. python绘制条形图-python3使用matplotlib绘制条形图

    本文实例为大家分享了python3使用matplotlib绘制条形图的具体代码,供大家参考,具体内容如下 绘制竖状条形图 代码 from matplotlib import pyplot as plt ...

  6. python绘制条形图例题_python matplotlib库绘制条形图练习题

    练习一:假设你获取到了2017年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据? a = ["战狼2","速度与激情8" ...

  7. python绘制直方图plt_Python:matplotlib绘制直方图

    使用hist方法来绘制直方图: 绘制直方图,最主要的是一个数据集data和需要划分的区间数量bins,另外你也可以设置一些颜色.类型参数: plt.hist(np.random.randn(1000) ...

  8. python 绘制正弦余弦函数 matplotlib的基本使用

    """matplotlib的基本使用 """ import matplotlib.pyplot as mp import numpy as ...

  9. python绘制梅花_Python | 巧用生成表达式、让循环显得高大上 !

    Python资源共享群:626017123 在 Python 中使用生成表达式,有以下三点好处: 1. 提高代码运行速度 2. 简化代码,使代码显得更精炼 3. (重点)是你的代码看上去像" ...

最新文章

  1. 倪光南:下一次科技革命集中在人工智能等三方面
  2. MyBatis 3在XML文件中处理大于号小于号()的方法(转)
  3. 布尔值_Python基础知识点手册——布尔值及布尔运算
  4. idea permission denied 权限分配问题解决方案
  5. 计算两个日期之间有多少天多少小时多少分钟
  6. 华为开启位置服务器,android 开启位置服务器
  7. delphi 检测网络是否连通_WebRTC:连接建立过程的网络穿透
  8. 力扣-989 数组形式的整数加法
  9. 手机自动化测试:Appium源码分析之跟踪代码分析七
  10. B/S系统间跨域单点登录设计思路
  11. c语言无纸化测评答案,无纸化计算机二级C语言程序设计题库答案程序题
  12. Python 之有趣的跑马灯
  13. 海思16DV300 移动侦测
  14. 自然语言处理的词法分析、句法分析、语义分析
  15. 24个扁平风格图标的PSD格式免费下载
  16. vue/cle3项目运行报错sockjs-node/info解决方案
  17. linux服务开机自启动
  18. C语言static关键字的作用(有三个作用)
  19. shaarli 书签管理器
  20. Shopify好用的开发插件/网站编辑插件

热门文章

  1. libsvm的安装和使用(1)
  2. [云炬创业学笔记]第二章决定成为创业者测试8
  3. 云炬创业政策学习笔记20210113
  4. [NTU-Machine-learning-note]1 Introduction(2)
  5. 云炬随笔20211017(1)
  6. [我的1024开源程序]100元写的单词本说明书
  7. SQL SERVER 跨服务器查询
  8. Delphi中的Rtti函数
  9. 在sql2005中加数据库时出现无法打开物理文件
  10. DELPHI 通過窗口句柄或窗口标题得到进程句柄