京公网安备 11010802034615号
经营许可证编号:京B2-20210330
基于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之饼图,你学会了吗?
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在使用Excel数据透视表进行数据分析时,我们常需要在透视表旁添加备注列,用于标注数据背景、异常说明、业务解读等关键信息。但 ...
2025-12-22在MySQL数据库的性能优化体系中,索引是提升查询效率的“核心武器”——一个合理的索引能将百万级数据的查询耗时从秒级压缩至毫 ...
2025-12-22在数据量爆炸式增长的数字化时代,企业数据呈现“来源杂、格式多、价值不均”的特点,不少CDA(Certified Data Analyst)数据分 ...
2025-12-22在企业数据化运营体系中,同比、环比分析是洞察业务趋势、评估运营效果的核心手段。同比(与上年同期对比)可消除季节性波动影响 ...
2025-12-19在数字化时代,用户已成为企业竞争的核心资产,而“理解用户”则是激活这一资产的关键。用户行为分析系统(User Behavior Analys ...
2025-12-19在数字化转型的深水区,企业对数据价值的挖掘不再局限于零散的分析项目,而是转向“体系化运营”——数据治理体系作为保障数据全 ...
2025-12-19在数据科学的工具箱中,析因分析(Factor Analysis, FA)、聚类分析(Clustering Analysis)与主成分分析(Principal Component ...
2025-12-18自2017年《Attention Is All You Need》一文问世以来,Transformer模型凭借自注意力机制的强大建模能力,在NLP、CV、语音等领域 ...
2025-12-18在CDA(Certified Data Analyst)数据分析师的时间序列分析工作中,常面临这样的困惑:某电商平台月度销售额增长20%,但增长是来 ...
2025-12-18在机器学习实践中,“超小数据集”(通常指样本量从几十到几百,远小于模型参数规模)是绕不开的场景——医疗领域的罕见病数据、 ...
2025-12-17数据仓库作为企业决策分析的“数据中枢”,其价值完全依赖于数据质量——若输入的是缺失、重复、不一致的“脏数据”,后续的建模 ...
2025-12-17在CDA(Certified Data Analyst)数据分析师的日常工作中,“随时间变化的数据”无处不在——零售企业的每日销售额、互联网平台 ...
2025-12-17在休闲游戏的运营体系中,次日留存率是当之无愧的“生死线”——它不仅是衡量产品核心吸引力的首个关键指标,更直接决定了后续LT ...
2025-12-16在数字化转型浪潮中,“以用户为中心”已成为企业的核心经营理念,而用户画像则是企业洞察用户、精准决策的“核心工具”。然而, ...
2025-12-16在零售行业从“流量争夺”转向“价值深耕”的演进中,塔吉特百货(Target)以两场标志性实践树立了行业标杆——2000年后的孕妇精 ...
2025-12-15在统计学领域,二项分布与卡方检验是两个高频出现的概念,二者都常用于处理离散数据,因此常被初学者混淆。但本质上,二项分布是 ...
2025-12-15在CDA(Certified Data Analyst)数据分析师的工作链路中,“标签加工”是连接原始数据与业务应用的关键环节。企业积累的用户行 ...
2025-12-15在Python开发中,HTTP请求是与外部服务交互的核心场景——调用第三方API、对接微服务、爬取数据等都离不开它。虽然requests库已 ...
2025-12-12在数据驱动决策中,“数据波动大不大”是高频问题——零售店长关心日销售额是否稳定,工厂管理者关注产品尺寸偏差是否可控,基金 ...
2025-12-12在CDA(Certified Data Analyst)数据分析师的能力矩阵中,数据查询语言(SQL)是贯穿工作全流程的“核心工具”。无论是从数据库 ...
2025-12-12