基于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
俗话说的好“文不如表,表不如图”,图的信息传达效率很高,是数据汇报、数据展示的重要手段。好的数据展示不仅需要有图,还要选 ...
2025-01-24数据分析报告至关重要 一份高质量的数据分析报告不仅能够揭示数据背后的真相,还能为企业决策者提供有价值的洞察和建议。 年薪70 ...
2025-01-24又到一年年终时,各位打工人也迎来了展示成果的关键时刻 —— 年终述职。一份出色的年终述职报告,不仅能全面呈现你的工作价值, ...
2025-01-23“用户旅程分析”概念 用户旅程图又叫做用户体验地图,它是用于描述用户在与产品或服务互动的过程中所经历的各个阶段、触点和情 ...
2025-01-22在竞争激烈的商业世界中,竞品分析对于企业的发展至关重要。今天,我们就来详细聊聊数据分析师写竞品分析的那些事儿。 一、明确 ...
2025-01-22在数据分析领域,Excel作为一种普及率极高且功能强大的工具,无疑为无数专业人士提供了便捷的解决方案。尽管Excel自带了丰富的功 ...
2025-01-17在这个瞬息万变的时代,许多人都在寻找能让他们脱颖而出的职业。而数据分析师,作为大数据和人工智能时代的热门职业,自然吸引了 ...
2025-01-14Python作为一门功能强大的编程语言,已经成为数据分析和可视化领域的重要工具。无论你是数据分析的新手,还是经验丰富的专业人士 ...
2025-01-10完全靠数据决策,真的靠谱吗? 最近几年,“数据驱动”成了商界最火的关键词之一,但靠数据就能走天下?其实不然!那些真正成功 ...
2025-01-09SparkSQL 结构化数据处理流程及原理是什么?Spark SQL 可以使用现有的Hive元存储、SerDes 和 UDF。它可以使用 JDBC/ODB ...
2025-01-09在如今这个信息爆炸的时代,数据已然成为企业的生命线。无论是科技公司还是传统行业,数据分析正在深刻地影响着商业决策以及未来 ...
2025-01-08“数据为王”相信大家都听说过。当前,数据信息不再仅仅是传递的媒介,它成为了驱动经济发展的新燃料。对于企业而言,数据指标体 ...
2025-01-07在职场中,当你遇到问题的时候,如果感到无从下手,或者抓不到重点,可能是因为你掌握的思维模型不够多。 一个好用的思维模型, ...
2025-01-06在现代企业中,数据分析师扮演着至关重要的角色。每天都有大量数据涌入,从社交媒体到交易平台,数据以空前的速度和规模生成。面 ...
2025-01-06在职场中,许多言辞并非表面意思那么简单,有时需要听懂背后的“潜台词”。尤其在数据分析的领域里,掌握常用术语就像掌握一门新 ...
2025-01-04在当今信息化社会,数据分析已成为各行各业的核心驱动力。它不仅仅是对数字进行整理与计算,而是在数据的海洋中探寻规律,从而指 ...
2025-01-03又到一年年终时,各位打工人也迎来了展示成果的关键时刻 —— 年终述职。一份出色的年终述职报告,不仅能全面呈现你的工作价值, ...
2025-01-03在竞争激烈的商业世界中,竞品分析对于企业的发展至关重要。今天,我们就来详细聊聊数据分析师写竞品分析的那些事儿。 一、明确 ...
2025-01-03在数据分析的江湖里,有两个阵营总是争论不休。一派信奉“大即是美”,认为数据越多越好;另一派坚守“小而精”,力挺质量胜于规 ...
2025-01-02数据分析是一个复杂且多维度的过程,从数据收集到分析结果应用,每一步都是对信息的提炼与升华。可视化分析结果,以图表的形式展 ...
2025-01-02