在matplotlib中,pie方法用于绘制饼图,基本用法如下 plt.pie(x=[1, 2, 3, 4]) 输出的结果如下 这样的饼图并没有任何实用价值,为了有效的展示信息,至少我们还需要显示数据的标签和百分比的数值。此时就需要调整参数,pie方法常用的参数有以下几个 1. labels, 设置饼图中每部分的标签 2. autopct, 设置百分比信息的字符串格式化方式,默认值为None,不显示百分比 3. shadow, 设置饼图的阴影,使得看上去有立体感,默认值为False 4. startangle, 饼图中第一个部分的起始角度, 5. radius, 饼图的半径,数值越大,饼图越大 6. counterclock, 设置饼图的方向,默认为True,表示逆时针方向,值为False时为顺时针方向 7. colors,调色盘,默认值为None, 会使用默认的调色盘,所以通常情况下,不需要设置该参数 8. explode, 该参数用于突出显示饼图中的指定部分 下面来具体看下其中几个参数的用法 1. labels labels指定每个部分的标签,用法如下 plt.pie(x=[1, 2, 3, 4], labels=['sampleA', 'sampleB', 'sampleC', 'sampleD']) 输出结果如下 2. autopct autopct设置饼图上的标记信息,有两种设置方式,第一种,设置字符串格式化,用法如下 plt.pie(x=[1, 2, 3, 4], labels=['sampleA', 'sampleB', 'sampleC', 'sampleD'], autopct='%.1f%%') 输出结果如下 第二种,用函数来进行设置,用法如下 data=[1,2,3,4] 输出结果如下 3. explode explode用于突出线似乎饼图中的子集,用间隔突出的方式进行显示,用法如下 plt.pie(x=[1, 2, 3, 4], labels=['sampleA', 'sampleB', 'sampleC', 'sampleD'], autopct='%1.1f%%', explode = [0, 0, 0.05, 0]) 输出结果如下 4. startangle startangle指定起始角度,用法如下 plt.pie(x=[1, 2, 3, 4], labels=['sampleA', 'sampleB', 'sampleC', 'sampleD'], autopct='%1.1f%%',startangle=90) 输出结果如下 5. countercolock countercolock用于调整饼图的方向,用法如下 plt.pie(x=[1, 2, 3, 4], labels=['sampleA', 'sampleB', 'sampleC', 'sampleD'], autopct='%1.1f%%',counterclock=False) 输出结果如下 6. radius radius用于设置饼图的半径,半径越大,饼图越大,用法如下 plt.pie(x=[1, 2, 3, 4], labels=['sampleA', 'sampleB', 'sampleC', 'sampleD'], autopct='%1.1f%%',radius=1.5) 输出结果如下 对于饼图而言,有一个非常现实的问题,就是图例的设置,在单张图片中,饼图的内容总是汇合图例重叠,示意如下 为了将图例和内容有效的区分开来,可以通过设置legend方法的bbox_to_anchor参数,该参数用于设置图例区域在figure上的坐标,其值为4个元素的元组,分别表示x,y,width,height, 代码如下 data=[1,2,3,4] x的值大于1,表示图例的位置位于axes右侧区域,x的值越大,图例和饼图之间的空隙越大,上述代码的输出效果如下 饼图作为常用图表之一,在展示百分比信息时,有不可替代的优势。matplotlib中的pie函数在传统饼图的基础上,添加了突出展示的功能,进一步加强了饼图的可视化效果。 ·end· |
|