点击蓝字
关注我们
圆环图是饼图的变形,也就是在饼图中间再绘制一个圆,把这个圆设置成白色,就形成了圆环的效果。
import matplotlib.pyplot as pltplt.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 pltplt.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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




