matplotlib.axes.Axes.legend #

轴。图例( * args , ** kwargs ) [来源] #

在轴上放置一个图例。

来电签名:

legend()
legend(handles, labels)
legend(handles=handles)
legend(labels)

调用签名对应于以下使用此方法的不同方式:

1.自动检测图例中要显示的元素

当您不传递任何额外参数时,将自动确定要添加到图例的元素。

在这种情况下,标签取自艺术家。您可以在创建艺术家时指定它们,也可以通过调用 set_label()艺术家的方法来指定它们:

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. 明确列出图例中的艺术家和标签

为了完全控制哪些艺术家有一个图例条目,可以传递一个可迭代的图例艺术家,然后分别传递一个可迭代的图例标签:

ax.legend([line1, line2, line3], ['label1', 'label2', 'label3'])

3. 明确列出图例中的艺术家

这类似于 2,但标签取自艺术家的标签属性。例子:

line1, = ax.plot([1, 2, 3], label='label1')
line2, = ax.plot([1, 2, 3], label='label2')
ax.legend(handles=[line1, line2])

4. 标记现有的情节元素

灰心

不鼓励使用此调用签名,因为绘图元素和标签之间的关系仅由它们的顺序隐含并且很容易混淆。

要为轴上的所有艺术家制作图例,请使用可迭代的字符串调用此函数,每个图例项一个。例如:

ax.plot([1, 2, 3])
ax.plot([5, 6, 7])
ax.legend(['First line', 'Second line'])
参数
处理序列Artist,可选

要添加到图例中的艺术家(线条、补丁)列表。如果您需要完全控制图例中显示的内容并且上述自动机制还不够,请将此与标签一起使用。

在这种情况下,手柄和标签的长度应该相同。如果不是,则将它们截断为较小的长度。

str的标签列表,可选

在艺术家旁边显示的标签列表。如果您需要完全控制图例中显示的内容并且上述自动机制还不够,请将此与句柄一起使用。

返回
Legend
其他参数
loc str 或一对浮点数,默认值:(rcParams["legend.loc"]默认值:'best')(轴的“最佳”,数字的“右上角”)

传说的位置。

字符串 将图例放置在轴/图形的相应角上。'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 元组的浮点数

用于与loc一起定位图例的框。默认为axes.bbox(如果作为方法调用Axes.legend)或 figure.bbox(如果Figure.legend)。此参数允许任意放置图例。

Bbox 坐标在bbox_transform给出的坐标系中解释, 默认的变换 Axes 或 Figure 坐标,取决于legend调用哪个。

如果BboxBase给出 4 元组 or ,则它指定放置图例的 bbox 。要将图例放置在轴(或图形)右下象限的最佳位置:(x, y, width, height)

loc='best', bbox_to_anchor=(0.5, 0., 0.5, 0.5)

一个 2 元组将loc指定的图例的角放置在 x, y 处。例如,要将图例的右上角放在轴(或图形)的中心,可以使用以下关键字:(x, y)

loc='upper right', bbox_to_anchor=(0.5, 0.5)
ncols int,默认值:1

图例的列数。

为了向后兼容,拼写ncol也受支持,但不鼓励使用。如果两者都给出,则ncols优先。

prop无 ormatplotlib.font_manager.FontProperties或 dict

图例的字体属性。如果 None (默认), matplotlib.rcParams将使用当前。

fontsize int 或 {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}

图例的字体大小。如果该值为数字,则大小将是绝对字体大小(以磅为单位)。字符串值是相对于当前默认字体大小的。仅当未指定prop时才使用此参数。

labelcolor str 或列表,默认值:(rcParams["legend.labelcolor"]默认值'None':)

图例中文本的颜色。一个有效的颜色字符串(例如,'red'),或者一个颜色字符串列表。也可以使用“linecolor”、“markerfacecolor”(或“mfc”)或“markeredgecolor”(或“mec”)使标签颜色与线条或标记的颜色相匹配。

Labelcolor 可以使用rcParams["legend.labelcolor"](默认值:)全局设置'None'。如果没有,使用rcParams["text.color"](默认值:)'black'

numpoints int,默认值:(rcParams["legend.numpoints"]默认值1:)

Line2D为(线)创建图例条目时图例中的标记点数。

scatterpoints int,默认值:(rcParams["legend.scatterpoints"]默认值1:)

PathCollection为(散点图)创建图例条目时图例中的标记点数。

scatteryoffsets可迭代的浮点数,默认值:[0.375, 0.5, 0.3125]

为散点图图例条目创建的标记的垂直偏移量(相对于字体大小)。0.0 位于图例文本的底部,1.0 位于顶部。要在相同高度绘制所有标记,请设置为[0.5]

标记刻度浮动,默认值:(rcParams["legend.markerscale"]默认值1.0:)

图例标记与最初绘制的标记相比的相对大小。

markerfirst bool,默认:True

如果为True,则图例标记放置在图例标签的左侧。如果为False,则图例标记放置在图例标签的右侧。

frameon bool,默认值:(rcParams["legend.frameon"]默认值True:)

图例是否应绘制在补丁(框架)上。

fancybox布尔值,默认值:(rcParams["legend.fancybox"]默认值True:)

是否应在FancyBboxPatch构成图例背景的周围启用圆边。

阴影布尔值,默认值:(rcParams["legend.shadow"]默认值False:)

是否在图例后面画阴影。

framealpha浮点数,默认值:(rcParams["legend.framealpha"]默认值0.8:)

图例背景的 alpha 透明度。如果shadow被激活并且framealphaNone,则默认值被忽略。

facecolor “继承”或颜色,默认值:(rcParams["legend.facecolor"]默认值'inherit':)

图例的背景颜色。如果"inherit",请使用rcParams["axes.facecolor"](默认值:'white')。

edgecolor “继承”或颜色,默认值:(rcParams["legend.edgecolor"]默认值'0.8':)

图例的背景补丁边缘颜色。如果"inherit",请使用 take rcParams["axes.edgecolor"](默认值:'black')。

模式{“扩展”,无}

如果模式设置为"expand"图例将水平扩展以填充轴区域(或bbox_to_anchor,如果定义了图例的大小)。

bbox_transform无或matplotlib.transforms.Transform

边界框 ( bbox_to_anchor ) 的变换。对于(默认)值,将使用None轴的 变换。transAxes

标题str 或无

传说的标题。默认为无标题 ( None)。

title_fontproperties无 ormatplotlib.font_manager.FontProperties或 dict

图例标题的字体属性。如果 None (默认), 如果存在title_fontsize参数将被使用;如果title_fontsize也为 None,则将使用当前rcParams["legend.title_fontsize"](默认值:) None

title_fontsize int 或 {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'},默认值:(rcParams["legend.title_fontsize"]默认值None:)

图例标题的字体大小。注意:这不能与title_fontproperties结合使用。如果您想将字体大小与其他字体属性一起设置,请使用title_fontproperties中的size 参数。

对齐{'center', 'left', 'right'},默认值:'center'

图例标题和条目框的对齐方式。条目作为单个块对齐,因此标记始终对齐。

边框浮动,默认值:(rcParams["legend.borderpad"]默认值0.4:)

图例边框内的小数空格,以字体大小为单位。

标签间距浮动,默认值:(rcParams["legend.labelspacing"]默认值0.5:)

图例条目之间的垂直间距,以字体大小为单位。

处理长度浮点数,默认值:(rcParams["legend.handlelength"]默认值2.0:)

图例句柄的长度,以字体大小为单位。

handleheight浮点数,默认值:(rcParams["legend.handleheight"]默认值0.7:)

图例句柄的高度,以字体大小为单位。

handletextpad浮动,默认值:(rcParams["legend.handletextpad"]默认值0.8:)

图例句柄和文本之间的填充,以字体大小为单位。

borderaxespad浮动,默认值:(rcParams["legend.borderaxespad"]默认值0.5:)

轴和图例边框之间的填充,以字体大小为单位。

列间距浮动,默认值:(rcParams["legend.columnspacing"]默认值2.0:)

列之间的间距,以字体大小为单位。

handler_map字典或无

自定义字典将实例或类型映射到图例处理程序。此handler_map更新在 中找到的默认处理程序映射matplotlib.legend.Legend.get_legend_handler_map

也可以看看

Figure.legend

笔记

此功能不支持某些艺术家。有关详细信息,请参阅 图例指南

例子

源代码png

../../_images/legend_00_00.png

使用#的示例matplotlib.axes.Axes.legend

条形颜色演示

条形颜色演示

条形颜色演示
条形标签演示

条形标签演示

条形标签演示
堆积条形图

堆积条形图

堆积条形图
带标签的分组条形图

带标签的分组条形图

带标签的分组条形图
绘制分类变量

绘制分类变量

绘制分类变量
填充介于和 Alpha 之间

填充介于和 Alpha 之间

填充介于和 Alpha 之间
帽子图

帽子图

帽子图
自定义虚线样式

自定义虚线样式

自定义虚线样式
带有勾选路径效果的线条

带有勾选路径效果的线条

带有勾选路径效果的线条
带有自定义符号的散点图

带有自定义符号的散点图

带有自定义符号的散点图
带有图例的散点图

带有图例的散点图

带有图例的散点图
堆栈图和流图

堆栈图和流图

堆栈图和流图
楼梯演示

楼梯演示

楼梯演示
轮廓孵化

轮廓孵化

轮廓孵化
Tricontour 演示

Tricontour 演示

Tricontour 演示
次轴

次轴

次轴
绘制二维数据集的置信椭圆

绘制二维数据集的置信椭圆

绘制二维数据集的置信椭圆
使用直方图绘制累积分布

使用直方图绘制累积分布

使用直方图绘制累积分布
具有多个数据集的直方图(hist)函数

具有多个数据集的直方图(hist)函数

具有多个数据集的直方图(hist)函数
馅饼吧

馅饼吧

馅饼吧
标记馅饼和甜甜圈

标记馅饼和甜甜圈

标记馅饼和甜甜圈
极地传奇

极地传奇

极地传奇
编写自定义图例

编写自定义图例

编写自定义图例
使用预定义标签的图例

使用预定义标签的图例

使用预定义标签的图例
传奇演示

传奇演示

传奇演示
数学文本

数学文本

数学文本
使用 TeX 渲染数学方程

使用 TeX 渲染数学方程

使用 TeX 渲染数学方程
寄生虫简单

寄生虫简单

寄生虫简单
寄生虫轴演示

寄生虫轴演示

寄生虫轴演示
寄生虫轴演示

寄生虫轴演示

寄生虫轴演示
人物解剖

人物解剖

人物解剖
图例采摘

图例采摘

图例采摘
路径效应演示

路径效应演示

路径效应演示
TickedStroke 路径效果

TickedStroke 路径效果

TickedStroke 路径效果
在 3D 图上绘制 2D 数据

在 3D 图上绘制 2D 数据

在 3D 图上绘制 2D 数据
参数曲线

参数曲线

参数曲线
Asinh 演示

Asinh 演示

Asinh 演示
带脊椎的多个 Y 轴

带脊椎的多个 Y 轴

带脊椎的多个 Y 轴
时间序列的自定义刻度格式化程序

时间序列的自定义刻度格式化程序

时间序列的自定义刻度格式化程序
带单位的分组条形图

带单位的分组条形图

带单位的分组条形图
简单图例01

简单图例01

简单图例01
简单图例02

简单图例02

简单图例02
快速入门指南

快速入门指南

快速入门指南
图例指南

图例指南

图例指南
约束布局指南

约束布局指南

约束布局指南
紧凑的布局指南

紧凑的布局指南

紧凑的布局指南
指定颜色

指定颜色

指定颜色