暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

python数据可视化--matplotlib绘制饼图(1)

AI小白笔记 2021-11-12
2054

点击蓝字

关注我们


饼图一般用于表达部分与整体的关系,在python中使用matplotlib库绘制饼图使用plt.pie()函数,下面用该函数简单绘制一个饼图:


import matplotlib.pyplot as plt 
plt.rcParams['font.family']=['KaiTi']
plt.figure(dpi=120)


label=['书籍','衣物','食物','鞋子','其它']
money=[560,80,109,300,200]


plt.pie(money,labels=label)
plt.show()



第3行代码设置了饼图的像素,dpi值越大,像素越大。


plt.pie()函数的参数较多,下面一一介绍。


plt.pie()函数参数详解


本节对参数的介绍不统一列出,分开来一个一个慢慢细品。


autopct

该参数的作用是在饼图各扇形中显示百分比,一般设置为'%.nf%%'的形式,%f表示该百分比是一个浮点数,%与f之间加'.n'表示保留n位小数,后面两个百分号显示一个百分号。(一个%表示转义字符,比如上节用的%s,两个%才能输出一个%)


下面更改上述代码的第8行plt.pie()函数,其它代码不变:(下同)

plt.pie(money,labels=label,autopct='%.1f%%')


explode

该参数用于设置各扇形离圆心中心的距离,值类型一般为列表,0表示不离开圆心,>0表示离开圆心,值越大离得越远。


plt.pie(money,labels=label,autopct='%.1f%%',explode=[0,0,0.1,0,0])



explode列表内有5个值,第3个值是0.1,其余都是0,第3值对应label列表中的第3个值是食物,所以食物对应的扇形离开圆心,形成被切出来的感觉。


colors

设置饼图各部分的颜色,一般值为列表类型。


c=['pink','yellow','grey','green','red']
plt.pie(money,labels=label,autopct='%.1f%%',explode=[0,0,0.1,0,0],colors=c)



如果对颜色不敏感的同学建议不设置colors参数,让系统来帮我们设置为默认值就好,否则颜色搭配不好看的话,影响整体美观。


shadow

该参数用于设置饼图各部分是否有阴影效果,默认值是False,即没有阴影效果,也可手动设置为True。


plt.pie(money,labels=label,autopct='%.1f%%',explode=[0,0,0.1,0,0],shadow=True)



跟上图作对比,有没有看出阴影效果?


startangle 

该参数设置起始绘制饼图的角度,默认为从 x 轴正方向逆时针画起,如设定 =90 则从 y 轴正方向画起。


plt.pie(money,labels=label,autopct='%.1f%%',explode=[0,0,0.1,0,0],shadow=True,startangle=90)



注意观察上一个图中的书籍那个扇形,有一条边是水平的,也就是X轴的正方向,而本图将startangle设置为90后,书籍所对应的扇形边从Y轴的正方向开始逆时针绘制。


所以饼图的绘制是依据代码中label列表的顺序依次从startangle的起始角度,逆时针绘制的。


counterclock

刚刚才说过饼图的绘制是逆时针绘制,有没有办法使其顺时针绘制呢,方法来了,就是把counterclock设置为False。当然这个参数的默认值是True。


plt.pie(money,labels=label,autopct='%.1f%%',explode=[0,0,0.1,0,0],startangle=90,counterclock=False)



观察这个图,饼图从Y轴正方向开始沿顺时针方向绘制,所以书籍对应的扇形占据在整个圆的右半部分。再观察上一个图,书籍对应的扇形占据在整个圆的左半部分,你就明白了。



plt.pie()函数的参数有点多,本节先说到这,其它的参数下节分解!


THE END


文章转载自AI小白笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论