(1)

饼图(pie),即在一个圆圈内分成几块,显示不同数据系列的占比大小,这也是我们在日常数据的图形展示中最常用的图形之一。

在python中常用matplotlib的pie来绘制,基本命令如下所示(python3.X版本):

上图是在对饼图的模块颜色、标签、百分比、标题、角度、圆形半径,以及某一块凸出(explode)进行设置后,最终呈现的图形效果。大部分设置来自于pie()函数内,即:

对于该函数内各参数的含义,网上资料比比皆是,在这里不再赘述,大家可以根据自己需求来多次尝试,设置美化图形。

(2)

目前matplotlib中尚无双层饼图绘制的专门介绍,但是,我们注意到pie()函数中有个饼图半径的设置——radius,于是,我就想:可不可以在同一个figure下绘制两个不同的圆饼,形成嵌套饼图,从而制作出双层饼图?比如:

作图如下:

初战告捷!令我信心大增!

因此,在matplotlib下绘制双层饼图的方法可以总结为:基于不同的数据系列,分别设计两个饼图,嵌套在一起,对每个饼图的pie()函数内参数radius进行设置,就可以得到双层饼图。

(3)

但是,可以看到上面的那个图形还有点粗糙,还可以加入百分比、color等等,进一步设置:

为方便,在这里没有对颜色、角度进行参数设置,后期若大家有兴趣,可以进一步加入不同参数再次设置。在这里主要说明的是:

1、图中各饼块的百分比数据,也在各自饼图中对pctdistance(百分比离圆形距离)进行不同设置,以便区分开,这里边也经过多次尝试;

2、对于各饼块颜色代表的数据系列标签,采用图例的方式plt.legend(),放在右边,不然饼图中展示的文本内容过多,会影响图形效果;

3、legend()的图例的位置可以通过关键字参数 loc 指定,bbox_to_anchor 关键字可让用户手动控制图例布局。 例如,如果你希望轴域图例位于图像的右上角而不是轴域的边角,则只需指定角的位置以及该位置的坐标系。

(4)

进一步地,在双层饼图的基础上,我又在想:可不可以绘制双层环形图。

在这里也就是转换一下思路:在两个饼图里边再加个小圆形图,并设置成白色背景。经过尝试,结果也如我所愿:

其原理为:绘制三个嵌套饼图,其中最里边的饼图,设置半径较小,整个饼图只有一个变量,因此不会分割,同时将背景色设置成白色colors='w',如此,大功告成!

实际上,还可以进一步延伸,绘制多层饼图、多层环形图,其原理都是绘制半径不同的pie,并设置不同的参数。

总结

以上就是本文关于Python通过matplotlib画双层饼图及环形图简单示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

原文链接:https://zhuanlan.zhihu.com/p/27442584

python 环形图_Python通过matplotlib画双层饼图及环形图简单示例相关推荐

  1. python怎么画多重饼状图_Python通过matplotlib画双层饼图及环形图简单示例

    (1) 饼图(pie),即在一个圆圈内分成几块,显示不同数据系列的占比大小,这也是我们在日常数据的图形展示中最常用的图形之一. 在python中常用matplotlib的pie来绘制,基本命令如下所示 ...

  2. python画环形图_Python通过matplotlib画双层饼图及环形图简单示例

    摘要:这篇Python开发技术栏目下的"Python通过matplotlib画双层饼图及环形图简单示例",介绍的技术点是"matplotlib.Python.简单示例.饼 ...

  3. python绘制饼图双层_Python通过matplotlib画双层饼图及环形图简单示例

    (1) 饼图(pie),即在一个圆圈内分成几块,显示不同数据系列的占比大小,这也是我们在日常数据的图形展示中最常用的图形之一. 在python中常用matplotlib的pie来绘制,基本命令如下所示 ...

  4. python做房源饼状图_python使用matplotlib画饼状图

    %matplotlib inlineimport matplotlib.pyplot as plt# 121 > 1行2列第1个fig1 = plt.subplot(121)plt.pie([1 ...

  5. 用python画动图_Python使用matplotlib画动态图

    机器学习需要使用python实现相应的算法,因此学习了Matplotlib中的画图. 当然为了能显示机器学习中每次迭代的效果与收敛速度,需要画出动态图形. 下面给出两个例子,分别可以画出动态条形图和动 ...

  6. python热图_python – 使用matplotlib中的3D数据生成热图

    我有一个函数returnValuesAtTime,它返回三个lists-x_vals,y_vals和swe_vals.所有三个列表具有相同的长度,并且swe_vals中的每个元素对应于来自x_vals ...

  7. python快速排序算法_Python实现快速排序算法及去重的快速排序的简单示例

    快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用. 该方法的基本思想是: 1.先从数列中取出一个数作为基准数. 2.分区过程,将比这个数大的数全放到它的右边,小于或 ...

  8. python画饼图程序_python使用matplotlib画饼状图

    本文实例为大家分享了python使用matplotlib画饼状图的具体代码,供大家参考,具体内容如下 代码与详细注释 from matplotlib import pyplot as plt #调节图 ...

  9. python设置折线图标题字体为宋体_python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)...

    最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...

  10. python如何画动态海浪_python使用matplotlib画动态图

    matplotlib是python的核心绘图库,是python的一个开源项目,旨在为python提供一个绘图库. matplotlib matplotlib与numpy组合是一种可行的matlab替代 ...

最新文章

  1. ubuntu安装Java开发环境
  2. matlab gui创建,Matlab创建GUI
  3. 使用jquery在新窗口中打开外部链接
  4. Oracle 移动数据文件的操作方法
  5. linux mysql搭建禅道详细教程_linux安装禅道的步骤
  6. 机器学习——卷积神经网络计算
  7. c#中Split用法总结
  8. 自定义填充图案插件 cad_CAD填充技巧:填充图案
  9. Linux小游戏——单机掷骰子
  10. 【调剂】上海应用技术大学2021年硕士研究生招生考试调剂信息
  11. DNK开发—Eclipse环境变量配置
  12. 白岩松人生哲学-听后感
  13. 微信小程序 获取formId
  14. NASA HEG tool安装心得
  15. ceph存储 Ceph管理平台Calamari的架构与功能分析
  16. 关闭oracle job定时任务,oracle job 定时任务,定时执行
  17. 在vue项目中快速使用element UI
  18. 新手小白学java 编码转换流 OutputStreamWriter InputStreamReader
  19. qt5.5实现 记事本程序
  20. SPSS实现快速聚类(K-Means/K-均值聚类)

热门文章

  1. 广东电网公司大数据平台初步建成
  2. ios开发中涉及到的权限问题
  3. 操作系统安装教程之图解Ubuntu Server 14.04安装
  4. spring读取XML配置文件的三种方式
  5. Hibernate 主键
  6. python处理pdf的第三方库_Python使用到第三方库PyMuPDF图片与pdf相互转换
  7. 数据库习题(填空题五)
  8. eplan窗口宏与符号宏是什么_如何使用EPLAN里的宏值集?
  9. java生成word排版_java生成word的几种方案(转)
  10. Seaborn可视化 -- 分类统计图seaborn.catplot