python的matplotlib画饼状图

函数:

matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None,
pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None,
radius=None, counterclock=True, wedgeprops=None, textprops=None,
center=(0, 0), frame=False, rotatelabels=False, hold=None, data=None)

参数说明:


x:array,表示用于绘制饼图的数据,没有默认。
explode:array,默认为None。
        如果不是None,是一个长度与x相同长度的数组,用来指定每部分的偏移量或者说指定项距离饼图圆心为n个半径。

        例如:explode=[0,0.2,0],第二个饼块被拖出。
labels:array,默认为:None。
       指定每一个饼块的名称。
colors:特定的string或含颜色字符的array,默认为:None。
    表示饼图颜色
autopct:特定的string,默认是None。
        指定数值的显示方式。
pctdistance:float,默认值:0.6。
          指定每一项的比例autopct和距离圆心的半径。
labeldistance:float,默认值:1.1。
            指定每一项的名称label和距离圆心的半径。
startangle:float,默认:None。
          如果不是None,从x轴逆时针旋转饼图的开始角度。
radius:float,默认为:1。
      饼图的半径。

剩余几个参数也找到了相关定义(未验证):
shadow:布尔值,默认值:False。
        在饼图下面画一个阴影。
counterclock:布尔值,默认为:None。
            指定指针方向,顺时针或者逆时针。
wedgeprops:字典类型,默认值:None。
            参数字典传递给wedge对象用来画一个饼图。
            例如:wedgeprops={'linewidth':3}设置wedge线宽为3。
textprops:字典类型,可选参数,默认值为:None。
          传递给text对象的字典参数。
center:浮点类型的列表,可选参数,默认值:(0,0)。
      图标中心位置。
frame:布尔类型,可选参数,默认值:False。
      如果是true,绘制带有表的轴框架。
rotatelabels:布尔类型,可选参数,默认为:False。
          如果为True,旋转每个label到指定的角度。
返回值:

patches:列表。matplotlib.patches.Wedge实例列表。
text:列表。matplotlib.text.Text实例label的列表。
autotexts:列表。A是数字标签的Text实例列表。
          仅当参数autopct不为None时才返回
 

代码:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']='SimHei'#设置中文显示
plt.figure(figsize=(6,6))#将画布设定为正方形,则绘制的饼图是正圆
label=['第一','第二','第三']#定义饼图的标签,标签是列表
explode=[0.01,0.01,0.01]#设定各项距离圆心n个半径
#plt.pie(values[-1,3:6],explode=explode,labels=label,autopct='%1.1f%%')#绘制饼图
values=[4,7,9]
plt.pie(values,explode=explode,labels=label,autopct='%1.1f%%')#绘制饼图
plt.title('2018年饼图')#绘制标题
plt.savefig('./2018年饼图')#保存图片
plt.show()

explode作为一个难理解的指标,我们改变一下,看一下有什么变化(图像比较直观一点):

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']='SimHei'#设置中文显示
plt.figure(figsize=(6,6))#将画布设定为正方形,则绘制的饼图是正圆
label=['第一','第二','第三']#定义饼图的标签,标签是列表
explode=[0.01,0.2,0.01]#设定各项距离圆心n个半径
#plt.pie(values[-1,3:6],explode=explode,labels=label,autopct='%1.1f%%')#绘制饼图
values=[4,7,9]
plt.pie(values,explode=explode,labels=label,autopct='%1.1f%%')#绘制饼图
plt.title('2018年饼图')
plt.savefig('./2018年饼图')
plt.show()

发布了289 篇原创文章 · 获赞 163 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/Suyebiubiu/article/details/103108894