用python的matplotlib画饼状图

一、 图例

代码:

import matplotlib.pyplot as plt
plt.figure(figsize=(6,6))                 # 将画布设定为正方形
label='A','B','C','D','E'                 # 各类别标签
sizes=[35,25,18,12,10]                     # 各类别占比
color='g','r','b','y','c'                 # 各类别颜色
explode=(0,0,0,0,0.2)                     # 各类别的偏移半径
patches,text1,text2=plt.pie(sizes,
                            colors=color,
                            explode=explode,
                            labels=label,
                            shadow=False,       # 无阴影设置       
                            autopct="%1.1f%%",  # 数值保留固定小数位
                            startangle=90,      # 逆时针角度设置
                            pctdistance=0.6)     # 数值距圆心半径倍数距离
#patches饼图的返回值,text1饼图外label的文本,text2饼图内部的文本
    
plt.axis('equal')                               # 饼状图呈正圆
plt.legend()
plt.show()

结果:
在这里插入图片描述

二、饼图的其他参数:

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:表示用于绘制饼图的数据,也就是每一块的比例。

explode:各类别的偏移半径,用来指定每部分的偏移量或者说指定项距离饼图圆心为n个半径。

labels:(饼图外)指定每一个饼块的名称。

colors:指定各模块的颜色。

autopct :控制饼图内百分比设置,可以使用format字符串或者format function
'%1.1f’指小数点前后位数(没有用空格补齐);

pctdistance:float,默认值:0.6。
指定每一项的比例autopct和距离圆心的半径。

labeldistance:float,默认值:1.1;如<1则绘制在饼图内侧。
指定每一项的名称label和距离圆心的半径。

startangle:起始绘制角度,默认图是从x轴正方向逆时针画起,如设定=90则从y轴正方向画起;

radius:float,默认为1: 饼图的半径。

shadow :在饼图下面画一个阴影。默认值:False,即不画阴影

counterclock :指定指针方向;布尔值,可选参数,默认为:True,即逆时针。将值改为False即可改为顺时针。

wedgeprops :字典类型,可选参数,默认值:None。参数字典传递给wedge对象用来画一个饼图。例如:wedgeprops={‘linewidth’:3}设置wedge线宽为3。

textprops :设置标签(labels)和比例文字的格式;字典类型,可选参数,默认值为:None。传递给text对象的字典参数。

center :浮点类型的列表,可选参数,默认值:(0,0)。图标中心位置。

frame :布尔类型,可选参数,默认值:False。如果是true,绘制带有表的轴框架。

rotatelabels :布尔类型,可选参数,默认为:False。如果为True,旋转每个label到指定的角度。

  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值