pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None)
参数:
x
:每一块的比例,如果sum(x)
>1会使sum(x)
归一化labels
:显示饼图外侧的说明文字explode
:每一块离开中心的距离startangle
:起始绘制角度,默认从x轴正方向逆时针画起,如设定 =90 则从y轴正方向画起。shadow
:是否阴影labeldistance
:label
绘制位置,相对于半径比例,如<1则绘制在饼图内侧autopct
:控制饼图内百分比设置,可以使用format
字符串或者format function
pctdistance
:类似于labeldistance
,指定autopct
的位置刻度radius
:饼图半径
返回的参数:
- 参数一:饼图
- 参数二:外部文字
- 参数三:内部文字
案例
from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']
ages = np.array([1,5,10,40,36,12,58,62,77,89,100,18,20,25,30,32]) #年龄数据
ages=pd.Series(ages)
data = pd.cut(ages, [0,5,20,30,50,100]).value_counts()
y = data.values
y = y/sum(y)
plt.figure(figsize=(10,10))
plt.title("年龄占比",fontsize=15)
plt.pie(y,labels=data.index)