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

python数据可视化--matplotlib绘制圆环图

AI小白笔记 2021-11-14
3464

点击蓝字

关注我们


圆环图是饼图的变形,也就是在饼图中间再绘制一个圆,把这个圆设置成白色,就形成了圆环的效果。


import matplotlib.pyplot as plt 
plt.rcParams['font.family']=['KaiTi']


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


_,ax = plt.subplots()
ax.pie(money,radius=1)
ax.pie(inner,radius=0.6,colors='white')


plt.show()



第6行代码的意思是里面这个圆只有一部分,不像外面那个圆那样被分解成几个部分。


第8行,subplots()是绘制子图的意思,圆环图需要在同一个画布里面同时绘制两个圆,这两个圆分别构成画布的两个子图。subplots()会返回2个值,第一个参数用不到,所以用下划线来接收,大概意思就是不关心这个变量叫什么名字,反正后面用不到,管它叫什么名字,whatever...


接下来就用label和inner两个列表绘制圆形,大圆半径为1,小圆半径0.6,并且颜色设置为白色,这样就形成了圆环的效果。


接下来添加数据:


import matplotlib.pyplot as plt 
plt.rcParams['font.family']=['KaiTi']


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


_,ax = plt.subplots()
ax.pie(money,radius=1,autopct='%.1f%%',pctdistance=0.8)
ax.pie(inner,radius=0.6,colors='white')
plt.legend(label)
plt.show()



第9行代码添加了autopct和pctdistance两个参数,让圆环各部分所占的百分比显示出来。


还多了第11行,用于显示图例。其实在前两节的饼图中,都没有显示图例,因为各部分的label就显示在各个扇形中,图例是多余的。而圆环图就不一样了,圆环比较小,显示百分比还好,再加几个中文在里面,就显示很拥挤,不美观,所以需要图例对圆环进行数据标注。


我们看到图例与圆环有部分重叠,第11行代码多加一个参数:


plt.legend(label,bbox_to_anchor=(1,1))


bbox_to_anchor用于设置图例相对于轴的位置,原点(0,0)位于画布的左下角,(0.5,0.5)在两个圆的圆心位置处,(1,1)位于画布的右上角。


到此为此,饼图及其变形--圆环图就介绍完毕,下节说说其它图形。


THE END


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

评论