matplotlib.axes.Axes.pie#
- Axes.pie(x, *, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False, rotatelabels=False, normalize=True, hatch=None, data=None)[源]#
绘制饼图。
根据数组 x 绘制饼图。每个扇区的分数面积由
x/sum(x)
给出。扇区默认以逆时针方向绘制,从 x 轴开始。
- 参数:
- x一维数组状对象
扇区的大小。
- explode数组状对象,默认值:None
如果不是 None,则是一个长度为
len(x)
的数组,指定每个扇区偏移半径的比例。- labels列表,默认值:None
一个字符串序列,为每个扇区提供标签。
- colors颜色 或 颜色 列表,默认值:None
一个颜色序列,饼图将按此序列循环使用颜色。如果为 None,将使用当前活跃的颜色循环中的颜色。
- hatch字符串或列表,默认值:None
应用于所有饼图扇区的填充模式,或者图表将循环使用的模式序列。有关有效模式的列表,请参阅 Hatch style reference。
版本 3.7 新增。
- autopctNone、字符串或可调用对象,默认值:None
如果不是 None,autopct 是一个字符串或函数,用于用数值标记扇区。标签将放置在扇区内部。如果 autopct 是一个格式字符串,则标签将是
fmt % pct
。如果 autopct 是一个函数,则它将被调用。- pctdistance浮点数,默认值:0.6
由 autopct 生成的文本沿半径绘制的相对距离。要将文本绘制在饼图外部,请将 pctdistance 设置为 > 1。如果 autopct 为
None
,则此参数将被忽略。- labeldistance浮点数或 None,默认值:1.1
标签沿半径绘制的相对距离。要将标签绘制在饼图内部,请将 labeldistance 设置为 < 1。如果设置为
None
,则不绘制标签,但仍会存储以供legend
使用。- shadow布尔值或字典,默认值:False
如果是布尔值,表示是否在饼图下方绘制阴影。如果是字典,则绘制阴影并将字典中的属性传递给
Shadow
。3.8 版本新增:shadow 可以是字典。
- startangle浮点数,默认值:0 度
饼图起始点相对于 x 轴逆时针旋转的角度。
- radius浮点数,默认值:1
饼图的半径。
- counterclock布尔值,默认值:True
指定扇区方向,顺时针或逆时针。
- wedgeprops字典,默认值:None
传递给饼图每个
patches.Wedge
的参数字典。例如,wedgeprops = {'linewidth': 3}
将扇区边框线的宽度设置为 3。默认情况下,clip_on=False
。当这些属性与其他关键字冲突时,传递给 wedgeprops 的属性优先。- textprops字典,默认值:None
传递给文本对象的参数字典。
- center(浮点数, 浮点数),默认值:(0, 0)
图表中心的坐标。
- frame布尔值,默认值:False
如果为 true,则与图表一起绘制坐标轴框架。
- rotatelabels布尔值,默认值:False
如果为 true,则将每个标签旋转到相应切片的角度。
- normalize布尔值,默认值:True
当为 True 时,通过将 x 归一化使
sum(x) == 1
来始终绘制完整饼图。如果sum(x) <= 1
,False 将绘制部分饼图;如果sum(x) > 1
,则会引发ValueError
。- data可索引对象,可选
如果给定,以下参数也接受字符串
s
,如果s
是data
中的一个键,则将其解释为data[s]
x, explode, labels, colors
- 返回:
- patches列表
一个
matplotlib.patches.Wedge
实例序列- texts列表
一个标签
Text
实例的列表。- autotexts列表
一个用于数值标签的
Text
实例列表。仅当参数 autopct 不是 None 时才会返回此值。
备注
如果图形和坐标轴呈正方形,或者坐标轴纵横比相等,则饼图效果可能最佳。此方法将坐标轴的纵横比设置为“equal”。坐标轴的纵横比可以通过
Axes.set_aspect
进行控制。