matplotlib.pyplot.legend¶
-
matplotlib.pyplot.
legend
(*args, **kwargs)[源代码]¶ 在轴上放置图例。
呼叫签名:
legend() legend(labels) legend(handles, labels)
调用签名对应于如何使用此方法的三种不同方式。
1。自动检测图例中显示的元素
当不传递任何额外参数时,将自动确定要添加到图例中的元素。
在这种情况下,标签取自艺术家。您可以在艺术家创建时或通过调用
set_label()
艺术家的方法:line, = ax.plot([1, 2, 3], label='Inline label') ax.legend()
或:
line, = ax.plot([1, 2, 3]) line.set_label('Label via method') ax.legend()
通过定义以下划线开头的标签,可以从自动图例元素选择中排除特定行。这是所有艺术家的默认设置,因此调用
Axes.legend
如果不使用任何参数,也不手动设置标签,则不会绘制任何图例。2。标记现有绘图元素
要为轴上已经存在的线(例如,通过绘图)创建图例,只需使用字符串的iterable调用此函数,每个图例项对应一个。例如::
ax.plot([1, 2, 3]) ax.legend(['A simple line'])
注意:这种使用方法是不可取的,因为绘图元素和标签之间的关系仅通过它们的顺序来隐式表示,而且很容易混淆。
三。明确定义图例中的元素
为了完全控制哪些艺术家具有图例项,可以分别传递一个不可重复的图例艺术家和一个不可重复的图例标签:
legend((line1, line2, line3), ('label1', 'label2', 'label3'))
参数: - 把手 顺序:
Artist
可选顺序 要添加到图例中的艺术家(线条、面片)列表。和这个一起使用 标签 如果您需要完全控制图例中所示内容,并且上述自动机制还不够。
在这种情况下,手柄和标签的长度应该相同。如果不是,则将其截断为较小的长度。
- labelsstr列表,可选
要在艺术家旁边显示的标签列表。和这个一起用 把手 如果您需要完全控制图例中所示内容,并且上述自动机制还不够。
返回: 其他参数: - loc : str or pair of floats, default:
rcParams["legend.loc"]
(default:'best'
) (轴为“最佳”,数字为“右上角”)。str或float对,默认值: 图例的位置。
弦乐
'upper left', 'upper right', 'lower left', 'lower right'
将图例放在轴/图形的相应角上。弦乐
'upper center', 'lower center', 'center left', 'center right'
将图例放置在轴/图形对应边缘的中心。弦
'center'
将图例放置在轴/图形的中心。弦
'best'
将图例放置在到目前为止定义的九个位置中,与其他绘制的艺术家的重叠最少。对于包含大量数据的打印,此选项可能会非常慢;提供特定位置可能会使打印速度受益。位置也可以是2元组,以轴坐标表示图例左下角的坐标(在这种情况下 bbox_to_anchor 将被忽略)。
为了背部的兼容性,
'center right'
(但没有其他位置)也可以拼写'right'
,并且每个“字符串”位置也可以指定为一个数值:位置字符串 位置代码 “最好” 0 右上角 1 “左上角” 2 “左下角” 3 右下角 4 “对” 5 “左中锋” 6 “中间偏右” 7 “下中心” 8 “上中心” 9 “中心” 10 - bbox_to_anchor :
BboxBase
,2元组,或4元组浮点数bboxbase、2元组或4元组浮点数 用于将图例与 loc .默认为
axes.bbox
(如果作为方法调用Axes.legend
或figure.bbox
(如果Figure.legend
)此参数允许任意放置图例。bbox坐标在以下坐标系中解释: bbox_transform ,使用默认的变换轴或图形坐标,具体取决于
legend
被称为。如果是4元组或
BboxBase
指定,然后指定bbox(x, y, width, height)
放置图例的位置。要将图例放置在轴(或图形)右下象限的最佳位置,请执行以下操作:loc='best', bbox_to_anchor=(0.5, 0., 0.5, 0.5)
2-元组
(x, y)
放置由指定的图例角 loc 例如,要将图例的右上角置于轴(或图)的中心,可以使用以下关键字:loc='upper right', bbox_to_anchor=(0.5, 0.5)
- ncolint,默认值:1
图例的列数。
- prop :无或
matplotlib.font_manager.FontProperties
或DICT无或 图例的字体属性。如果没有(默认),则当前
matplotlib.rcParams
将被使用。- fontsizeint或{'xx-small','x-small','small','medium','large','x-large','xx-large'}
图例的字体大小。如果该值是数值,则大小将是以磅为单位的绝对字体大小。字符串值相对于当前默认字体大小。此参数仅在以下情况下使用 prop 未指定。
- labelcolorstr或list
设置图例中文本的颜色。可以是有效的颜色字符串(例如“red”),也可以是颜色字符串列表。labelcolor还可以使用“linecolor”、“markerfacecolor”(或“mfc”)或“markeredgecolor”(或“mec”)使其与线条或标记的颜色匹配。
- 点数 : int, default:
rcParams["legend.numpoints"]
(default:1
)int,默认值: 为创建图例项时,图例中标记点的数目
Line2D
(行)。- 散乱点 : int, default:
rcParams["legend.scatterpoints"]
(default:1
)int,默认值: 为创建图例项时,图例中标记点的数目
PathCollection
(散点图)。- 散乱偏移 :iterable of float,默认值:
[0.375, 0.5, 0.3125]
浮动的iterable,默认值: 为散点图图例项创建的标记的垂直偏移量(相对于字体大小)。0.0位于图例文本的底部,1.0位于顶部。若要在同一高度绘制所有标记,请设置为
[0.5]
.- 马氏标度 : float, default:
rcParams["legend.markerscale"]
(default:1.0
)浮动,默认值: 与最初绘制的图例标记相比,图例标记的相对大小。
- markerfirstbool,默认值:True
如果 True ,图例标记放置在图例标签的左侧。如果 假 ,将图例的标签放置在图例的右侧。
- 框架 : bool, default:
rcParams["legend.frameon"]
(default:True
)布尔,默认值: 图例是否应绘制在补片(框架)上。
- 软盒 : bool, default:
rcParams["legend.fancybox"]
(default:True
)布尔,默认值: 是否应在
FancyBboxPatch
构成了传说的背景。- 阴影 : bool, default:
rcParams["legend.shadow"]
(default:False
)布尔,默认值: 是否在传说背后画上阴影。
- 框架α : float, default:
rcParams["legend.framealpha"]
(default:0.8
)浮动,默认值: 传说背景的透明度。如果 阴影 激活并 框架α 是
None
,默认值将被忽略。- 脸色 : "inherit" or color, default:
rcParams["legend.facecolor"]
(default:'inherit'
)“inherit”或“color”,默认值: 图例的背景色。如果
"inherit"
使用rcParams["axes.facecolor"]
(default:'white'
) .- 变色染料 : "inherit" or color, default:
rcParams["legend.edgecolor"]
(default:'0.8'
)“inherit”或“color”,默认值: 图例的背景面片边缘颜色。如果
"inherit"
,使用takercParams["axes.edgecolor"]
(default:'black'
) .- mode“展开”,无
如果 mode 设置为
"expand"
图例将水平展开以填充轴区域(或 bbox_to_anchor 如果定义了图例的大小)。- bbox_transform :无或
matplotlib.transforms.Transform
无或 边界框的变换( bbox_to_anchor )对于一个值
None
(默认)轴'transAxes
将使用转换。- titleSTR或无
图例人物的头衔。默认为无标题 (
None
)- title_fontsize : int or {{'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}}, default:
rcParams["legend.title_fontsize"]
(default:None
)int或{'xx-small'、'x-small'、'small'、'medium'、'large'、'x-large'、'xx-large'},默认值: 图例标题的字体大小。
- 边界焊盘 : float, default:
rcParams["legend.borderpad"]
(default:0.4
)浮动,默认值: 图例边框内的分数空格,以字体大小为单位。
- 标签间距 : float, default:
rcParams["legend.labelspacing"]
(default:0.5
)浮动,默认值: 图例项之间的垂直间距,以字体大小为单位。
- 手长 : float, default:
rcParams["legend.handlelength"]
(default:2.0
)浮动,默认值: 图例句柄的长度,以字体大小为单位。
- 手持插件 : float, default:
rcParams["legend.handletextpad"]
(default:0.8
)浮动,默认值: 图例句柄和文本之间的填充区,以字体大小为单位。
- 边界轴焊盘 : float, default:
rcParams["legend.borderaxespad"]
(default:0.5
)浮动,默认值: 轴和图例边框之间的填充区,以字体大小为单位。
- 柱间距 : float, default:
rcParams["legend.columnspacing"]
(default:2.0
)浮动,默认值: 列之间的间距,以字体大小为单位。
- handler_map不记名
将实例或类型映射到图例处理程序的自定义字典。这个 handler_map 更新在中找到的默认处理程序映射
matplotlib.legend.Legend.get_legend_handler_map
.
笔记
此函数不支持某些艺术家。看到了吗 图例指南 有关详细信息。
实例
(Source code _, png , pdf )
- 把手 顺序: