python饼状图显示其比例_python可视化:matplotlib绘制的饼状图你了解吗?
基于python数据可视化的绘图系统matplotlib功能非常强大,按照国际惯例,写在最开始的是对要介绍对象的定义。喏,这是从维基百科搬运过来的对饼图的解释,请安心受下:
饼图,或称饼状图,是一个划分为几个扇形的圆形统计图表,用于描述量、频率或百分比之间的相对关系。在饼图中,每个扇区的弧长(以及圆心角和面积)大小为其所表示的数量的比例。这些扇区合在一起刚好是一个完全的圆形。顾名思义,这些扇区拼成了一个切开的饼形图案。
当然,文字的解释永远没有一个图来的直观:
这也是从维基百科上偷运过来的英语为母语的人口分布饼图。不客气的讲,这个图画的相当简陋,只能看出来一个大概的比例,像最后三个基本看不出来差别多有多少,所以我们在绘图的时候尽量加上数量标签,这样一眼就能看得出来差距在哪里了。
画一个饼图
画图第一步是什么?当然是要数据啊,所有的图都是对数据的一种展现形式而已!ok,先来看下我们的数据长什么样子:
这是几个学校语数外平均成绩数据的前五行,整个数据源包含21条记录,也就是有21个学校的平均成绩信息,我们计划查看其中一个学校或者几个学校的成绩饼图。
先画一个最简单的饼图看看效果:
plt.figure(figsize=(8,8),dpi=80) #新建画布,由于饼图是原型的,所以新建画布为正方形 plt.pie(data2.iloc[0,1:] #选取数据源为第一小学的成绩
,labels=['语文','数学','英语']) #设置每一角饼的标签 plt.title('第1小学各学科成绩占比',fontsize=12); #设置饼图的标题和标题字号
效果图如下:
是不是和维基百科搬运过来的饼图很相像?还比那个多了个标题,嘿嘿…但是前边说好的要显示比例标签呢?别急,其实可以设置的内容还有不少,不止是可以设置比例标签呢!
完善饼图
plt.figure(figsize=(8,8),dpi=80) #新建画布 plt.pie(data2.iloc[0,1:] #选取数据源
,labels=['语文','数学','英语'] #增加标签
,autopct='%.2f%%' #设置百分比精度
,shadow=True #显示阴影,能够增加立体感
,explode=[0.03,0.03,0.03] #设置饼图各个扇区之间的间隙
,colors=['r','g','b']) #设置饼图各个扇区的颜色 plt.title('第1小学各学科成绩占比',fontsize=12);
每行代码的含义都以备注的方式解释明白了,以上只是常用的参数,当然还有一些不常用的参数并没有全都一一试验,给有好奇心的小可爱可以自行探索哈。
接下来查看效果的时间到了:
原谅我比较懒,没有探索更好看的配色,直接粗暴的用了RGB(逃走)。
一次绘制多个饼图
一次绘制多个饼图其实对饼图没什么要求,只是需要添加几个子图而已!所谓子图是相对于我们建立的整个画布而言的,整个画布相当与一张白纸,而子图就相当于是给整张白纸进行了分区,每个分区里边放上一个完整的图形:
pic2 = plt.figure(figsize=(8,8),dpi=80) #新建画布,由于需要在画布上增加子图,所以讲新建的画布赋值一个变量名
fig1 = pic2.add_subplot(2,2,1) #第一个子图(行数,列数,本子图位置)
plt.pie(data2.iloc[0,1:] #选取数据源 第1小学各学科成绩
,labels=['语文','数学','英语']
,autopct='%.2f%%' #设置百分比精度
,shadow=True #显示阴影,增加立体感
,explode=[0.02,0.02,0.02]) #设置饼图各个扇区之间的间隙
# ,colors=['r','g','b']) #设置饼图各个扇区的颜色
plt.title('第1小学各学科成绩占比',fontsize=12)#设置子图的名称
fig2 = pic2.add_subplot(2,2,2) #第二个字图
plt.pie(data2.iloc[1,1:] #选取数据源,第2小学各学科成绩
,labels=['语文','数学','英语']
,autopct='%.2f%%' #设置百分比精度
,shadow=True #显示阴影,增加立体感
,explode=[0.02,0.02,0.02]) #设置饼图各个扇区之间的间隙
# ,colors=['r','g','b']) #设置饼图各个扇区的颜色
plt.title('第2小学各学科成绩占比',fontsize=12)
fig3 = pic2.add_subplot(2,2,3) #第二个字图
plt.pie(data2.iloc[2,1:] #选取数据源,第3小学各学科成绩
,labels=['语文','数学','英语']
,autopct='%.2f%%' #设置百分比精度
,shadow=True #显示阴影,增加立体感
,explode=[0.02,0.02,0.02]) #设置饼图各个扇区之间的间隙
# ,colors=['r','g','b']) #设置饼图各个扇区的颜色
plt.title('第3小学各学科成绩占比',fontsize=12)
fig4 = pic2.add_subplot(2,2,4) #第二个字图
plt.pie(data2.iloc[3,1:] #选取数据源,第4小学各学科成绩
,labels=['语文','数学','英语']
,autopct='%.2f%%' #设置百分比精度
,shadow=True #显示阴影,增加立体感
,explode=[0.02,0.02,0.02]) #设置饼图各个扇区之间的间隙
# ,colors=['r','g','b']) #设置饼图各个扇区的颜色
plt.title('第4小学各学科成绩占比',fontsize=12);
添加子图需要注意的是在新建画布的时候,需要给画布赋值一个变量名,方便添加子图。另外添加几个子图一般是通过子图的行数和列数来确定的,例如上边代码中是2行2列,即一共是4个子图。
效果图如下:
代码中对颜色设定的部分被注释掉了,所以这里的颜色是默认的颜色,美商高的小可爱们可以自行探索颜色的搭配。
matplotlib之饼图,你学会了吗?
完 谢谢观看
python饼状图显示其比例_python可视化:matplotlib绘制的饼状图你了解吗?相关推荐
- python生成折线图怎么对特定点做颜色_python使用matplotlib绘制简单的折线图和散点图...
生成数据 数据可视化 数据可视化指的是通过可视化表示来探索数据,它与数据挖掘机密相关. 安装matplotlib 请访问https://pypi.python.org/pypi/matplotlib/ ...
- python绘制折线图保存_Python利用matplotlib绘制折线图的新手教程
前言 matplotlib是Python中的一个第三方库.主要用于开发2D图表,以渐进式.交互式的方式实现数据可视化,可以更直观的呈现数据,使数据更具说服力. 一.安装matplotlib pip i ...
- python 柱状图和折线图放在一起_Python matplotlib:matplotlib绘制——柱状图和折线图的组合...
Python matplotlib:使用matplotlib绘制--柱状图和折线图的组合. 废话不多说,直接上效果图和代码. 代码如下: #柱状图 import numpy as np import ...
- 【程序员股民系列】如何用python, pandas, numpy, matplotlib绘制每日个股成交额图
上次分享了一段代码用于绘制每日行业交易额的图: [程序员股民系列]如何用python, pandas, numpy, matplotlib绘制每日行业成交额图 分析粒度略粗,只到行业这一层,把代码稍微 ...
- python matplotlib绘制多条折线图
python matplotlib绘制多条折线图 代码 import matplotlib.pyplot as pltx = [6, 24, 48, 72] y1 = [87, 174, 225, 2 ...
- 利用python—matplotlib绘制股票K线图
利用python-matplotlib绘制股票K线图 成品展示: 用Python绘制股票K线图并不复杂,不过得做好一些准备工作例如相关库的安装,库的引入.日期格式的调整and表格转换 文章目录 利用p ...
- Python之matplotlib:利用matplotlib绘制八象空间三维图案例(知识点包括散点图、折线图、标注文字、图例、三维坐标)之详细攻略
Python之matplotlib:利用matplotlib绘制八象空间三维图案例(知识点包括散点图.折线图.标注文字.图例.三维坐标)之详细攻略 目录
- Python可视化matplotlib绘制三维可视化图形(Three-Dimensional)
Python可视化matplotlib绘制三维可视化图形(Three-Dimensional) Matplotlib最初设计时只考虑二维可视化绘图.大约在1.0版本发布的时候,在Matplotlib的 ...
- R语言使用ggradar包可视化基本雷达图(radar chart、蜘蛛图spider plot)、可视化单个数据对象的雷达图
R语言使用ggradar包可视化基本雷达图(radar chart.蜘蛛图spider plot).可视化单个数据对象的雷达图 目录
- R语言使用ggradar包可视化基本雷达图(radar chart、蜘蛛图spider plot)、可视化单个数据对象的雷达图、自定义雷达图的线条类型、线条宽度、数据点大小、色彩等
R语言使用ggradar包可视化基本雷达图(radar chart.蜘蛛图spider plot).可视化单个数据对象的雷达图.自定义雷达图的线条类型.线条宽度.数据点大小.色彩等(Customize ...
最新文章
- What systems can Opalis integrate with?
- Hibernate检索策略之5.4一对多单向关联检索策略——Hibernate4究竟怎么玩
- 阿里云服务器被挖矿程序minerd入侵的终极解决办法[转载]
- UA MATH574 概率论 一个均匀分布的例题2018May/4
- jsoncpp 构造空数组
- 怎么使用Nginx服务开启HTTPS
- Java Swing框架实战
- python控制svn_jenkins+svn+python的使用
- [汇编语言计算机原理] 带开机音乐,速度、进度和行驶方向显示的出租出计费系统设计
- LXC与宿主机共享目录(七)
- git学习(三)版本的前进后退
- Mybatis与hibernate
- 计算机用户界面英文,计算机主板CMOS界面英文翻译(2)
- 2022年锂行业研究报告
- mongoDB mongochef-x64 搭建
- 什么是OGNL表达式
- Node.JS 字符分割
- 决策树算法(ID3算法)
- 单机和弱联网游戏内购,白嫖的机会来了
- SQL查询左连接、右连接、内连接
热门文章
- 英雄联盟一直连接服务器win10,浅析win10英雄联盟连接不上服务器的解决教程
- speedoffice(PPT)插入的表格怎么删除其中一列或者一行呢
- 人工智能标记语言AIML聊天机器人:产生、种类、应用、实例、AIML概述、知识库、公司、业界(20k字经典收藏版)
- 磁力mysql搜索_求一份磁力链接搜索网站的源码,最好能来个大神讲一下这个搜索的原理...
- 学前儿童健康教育 复习资料 渝粤题库整理
- 小程序发送公众号模板消息+PHP后台
- 关于零信任的 “灵魂” 12问,企业未来如何适配“零信任”?
- 易基因|m6A甲基化修饰在神经元发育和成体神经形成中的作用研究:文献科普
- 2021最新Java JDK1.8的安装教程
- 微信小程序申请微信支付0.2费率商户号微信小程序接入开通流程