matplotlib.legend

“图例”模块定义图例类,该类负责绘制与轴和/或图形关联的图例。

重要

您不太可能手动创建图例实例。大多数用户通常会通过 legend 功能。更多关于传说的细节还有 legend guide .

这个 Legend 类是图例句柄和图例文本的容器。

图例处理程序映射指定如何从轴或图形中的艺术家(线、面片等)创建图例处理程序。默认图例处理程序在 legend_handler 模块。虽然并非所有艺术家类型都包含在默认图例处理程序中,但可以定义自定义图例处理程序以支持任意对象。

legend guide 更多信息。

class matplotlib.legend.DraggableLegend(legend, use_blit=False, update='loc')[源代码]

基类:matplotlib.offsetbox.DraggableOffsetBox

包装 Legend 支持鼠标拖动。

参数:
图例Legend传说

这个 Legend 要包装的实例。

use_blit可选的布尔

使用Blitting可以更快地合成图像。详情见 FuncAnimation .

update'loc'、'bbox',可选

如果“loc”,更新 loc 完成时图例的参数。如果“bbox”,则更新 bbox_to_anchor 参数。

finalize_offset()[源代码]
class matplotlib.legend.Legend(parent, handles, labels, loc=None, numpoints=None, markerscale=None, markerfirst=True, scatterpoints=None, scatteryoffsets=None, prop=None, fontsize=None, labelcolor=None, borderpad=None, labelspacing=None, handlelength=None, handleheight=None, handletextpad=None, borderaxespad=None, columnspacing=None, ncol=1, mode=None, fancybox=None, shadow=None, title=None, title_fontsize=None, framealpha=None, edgecolor=None, facecolor=None, bbox_to_anchor=None, bbox_transform=None, frameon=None, handler_map=None)[源代码]

基类:matplotlib.artist.Artist

在位置loc的轴上放置图例。

参数:
起源AxesFigure轴或图形

包含图例的艺术家。

把手 名单 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_anchorBboxBase ,2元组,或4元组浮点数bboxbase、2元组或4元组浮点数

用于将图例与 loc .默认为 axes.bbox (如果作为方法调用 Axes.legendfigure.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" ,使用take rcParams["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 .

笔记

用户可以使用 bbox_to_anchor 关键字参数。 bbox_to_anchor 可以是 BboxBase (或从中派生)或2或4个浮点数的元组。看到了吗 set_bbox_to_anchor 更多细节。

可以通过设置指定图例位置 loc 有一个2个浮点数的元组,它被解释为标准化轴坐标中图例的左下角。

codes = {'best': 0, 'center': 10, 'center left': 6, 'center right': 7, 'lower center': 8, 'lower left': 3, 'lower right': 4, 'right': 5, 'upper center': 9, 'upper left': 2, 'upper right': 1}
contains(event)[源代码]

测试艺术家是否包含鼠标事件。

参数:
鼠标移动matplotlib.backend_bases.MouseEventmatplotlib.backend_bases.MouseEvent
返回:
contains布尔

是否有任何值在半径范围内。

details双关语

事件上下文详细信息的艺术家专用词典,例如拾取半径中包含哪些点。有关详细信息,请参见各个艺术家子类。

draw(renderer)[源代码]

使用给定的渲染器绘制艺术家(及其子对象)。

如果艺术家不可见,则此操作无效 (Artist.get_visible 返回False)。

参数:
渲染器RendererBase 子类。RenderBase子类。

笔记

此方法在Artist子类中被重写。

draw_frame(b)

设置是否绘制图例框修补程序。

参数:
b布尔
get_bbox_to_anchor()[源代码]

返回将锚定图例的bbox。

get_children()[源代码]

返回孩子的列表 Artist 这是什么 Artist .

classmethod get_default_handler_map()[源代码]

返回默认处理程序映射的类方法。

get_draggable()[源代码]

返回 True 如果传说是可拖动的, False 否则。

get_frame()[源代码]

返回 Rectangle 用来勾勒图例。

get_frame_on()[源代码]

获取是否绘制图例框修补程序。

static get_legend_handler(legend_handler_map, orig_handle)[源代码]

从返回图例处理程序 legend_handler_map 相当于 orig_handler .

legend_handler_map 应该是字典对象(由get_legend_handler_map方法返回)。

它首先检查 orig_handle 它本身就是 legend_handler_map 并返回关联值。否则,它按方法解析顺序检查每个类。如果找不到匹配的密钥,则返回 None .

get_legend_handler_map()[源代码]

返回处理程序映射。

get_lines()[源代码]

返回列表 Line2D 在传说中。

get_patches()[源代码]

返回列表 Patch 在传说中。

get_texts()[源代码]

返回列表 Text 在传说中。

get_tightbbox(renderer)[源代码]

喜欢 Legend.get_window_extent ,但使用方框作为图例。

参数:
渲染器RendererBase 子类RenderBase子类

将用于绘制图形的渲染器(即 fig.canvas.get_renderer()

返回:
BboxBase

图形像素坐标中的边界框。

get_title()[源代码]

返回 Text 图例标题的实例。

get_window_extent(renderer=None)[源代码]

获取显示空间中的轴边界框。

边界框的宽度和高度为非负。

子类应重写以包含在边界框“紧”计算中。默认值是返回0,0处的空边界框。

使用此函数时要小心,如果艺术家窗口的范围发生更改,结果将不会更新。范围可能因变换堆栈中的任何更改而更改,例如更改轴限制、图形大小或使用的画布(如保存图形时所做)。这可能会导致意想不到的行为,在屏幕上交互式图形看起来很好,但保存不正确。

set_bbox_to_anchor(bbox, transform=None)[源代码]

设置要锚定图例的bbox。

参数:
bboxBboxBase 或元组BboxBase或元组

可以在边界框中指定以下方式:

  • A BboxBase 实例
  • 一个元组 (left, bottom, width, height) 在给定的转换中(如果没有标准化轴坐标)
  • 一个元组 (left, bottom) 其中宽度和高度假定为零。
  • None ,以移除bbox锚定,并使用父bbox。
转型Transform 可选变换,可选

要应用于边界框的变换。如果未指定,这将使用对父对象边界框的变换。

classmethod set_default_handler_map(handler_map)[源代码]

用于设置默认处理程序映射的类方法。

set_draggable(state, use_blit=False, update='loc')[源代码]

启用或禁用对图例的鼠标拖动支持。

参数:
state布尔

是否启用鼠标拖动。

use_blit可选的布尔

使用Blitting可以更快地合成图像。详情见 FuncAnimation .

update'loc'、'bbox',可选

拖动时要更改的图例参数:

  • “loc”:更新 loc 图例的参数
  • “bbox”:更新 bbox_to_anchor 图例的参数
返回:
DraggableLegendNone

如果 状态True 这将返回 DraggableLegend 助手实例。否则这就回来了 None .

set_frame_on(b)[源代码]

设置是否绘制图例框修补程序。

参数:
b布尔
set_title(title, prop=None)[源代码]

设置图例标题。fontproperties可以选择设置为 prop 参数。

classmethod update_default_handler_map(handler_map)[源代码]

更新默认处理程序映射的类方法。

zorder = 5