DATA ANALYSIS PROCESS

Matplotlib和Seaborn之饼图

2020-04-23  本文已影响0人  IntoTheVoid

饼状图

饼状图是一种常见的单变量图形,用于描绘分类变量级别的相对频率。饼图中的频率用圆形的扇区表示:角度或面积越大,该分类值就越常见。

饼状图(左)和条形图(右).png

遗憾的是,饼状图是一种应用场合很有限的图形类型,图形创建者很容易将饼图绘制得难以看懂。如果你要使用饼状图,请尝试遵守特定的规则:

如果无法满足这些规则,则建议使用条形图。通常选择条形图更保险。长条高度比面积或角度更精确,并且条形图可以比饼状图更紧凑。对于值很多的变量来说,条形图更灵活。

你可以使用 matplotlib 的 pie 函数创建饼状图。此函数需要数据为摘要形式:函数的主参数是扇区大小。

# code for the pie chart seen above
sorted_counts = df['cat_var'].value_counts()
plt.pie(sorted_counts, labels = sorted_counts.index, startangle = 90,
        counterclock = False);
plt.axis('square')

要遵守上述列表中的规则,我可以添加 "startangle = 90" 和 "counterclock = False" 参数,在垂直上方开始第一个扇区,然后按照顺时针方向有序地绘制每个扇区。axis 函数将使 x 和 y 轴的刻度相等。不调用此函数的话,最终的图形可能看起来不像圆形。

其他版本

饼状图的一种变体形式是环形图。它看起来很像饼状图,但是图形中间有个洞。从视觉感知上来看,环形图和饼状图没有什么太大的区别,应该按照饼状图的相同规则使用环形图。选择饼状图还是环形图的原因之一可能是看起来是否美观。例如,你可能见过关于环形图小洞的统计数据,希望能更好地利用可用空间。

要创建环形图,可以在 pie 函数调用中添加 "wedgeprops" 参数。默认情况下,饼图(圆形)的半径是 1;将扇区宽度属性设为小于 1 的值会删除圆形中心的颜色。

sorted_counts = df['cat_var'].value_counts()
plt.pie(sorted_counts, labels = sorted_counts.index, startangle = 90,
        counterclock = False, wedgeprops = {'width' : 0.4});
plt.axis('square')

(文档:Wedge patches

image.png

课外资料

上一篇 下一篇

猜你喜欢

热点阅读