matplotlib.legend#

legend 模块定义了 Legend 类,该类负责绘制与轴和/或图形相关的图例。

重要的

您不太可能手动创建 Legend 实例。大多数用户通常会通过该legend 功能创建图例。有关图例的更多详细信息,还有一个图例指南

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

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

有关详细信息,请参阅图例指南

matplotlib.legend。DraggableLegend ( legend , use_blit = False , update = 'loc' ) [source] #

基地:DraggableOffsetBox

环绕 aLegend以支持鼠标拖动。

参数
传奇Legend

Legend要包装的实例。

use_blit bool,可选

使用 blitting 更快的图像合成。有关详细信息,请参阅 FuncAnimation

更新{'loc', 'bbox'},可选

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

finalize_offset ( ) [来源] #
matplotlib.legend。图例句柄标签 * 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 ncols = 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 , title_fontproperties = None , alignment = 'center' , ncol = 1 ) [来源] #

基地:Artist

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

参数
父母AxesFigure

包含传奇的艺术家。

处理列表Artist

要添加到图例中的艺术家(线条、补丁)列表。

str的标签列表

在艺术家旁边显示的标签列表。手柄和标签的长度应相同。如果不是,则将它们截断为两个长度中较小的一个。

其他参数
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

笔记

用户可以使用bbox_to_anchor关键字参数为图例指定任意位置 。bbox_to_anchor可以是 BboxBase(或从那里派生的)或 2 或 4 个浮点数的元组。有关set_bbox_to_anchor更多详细信息,请参阅。

图例位置可以通过使用 2 个浮点数的元组设置loc来指定,这被解释为规范化轴坐标中图例的左下角。

代码= {'best': 0, 'center': 10, 'center left': 6, 'center right': 7, 'lower center': 8, '左下': 3, '右下': 4, '右': 5, '中上': 9, '左上': 2, '右上': 1} #
包含(事件) [来源] #

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

参数
鼠标事件matplotlib.backend_bases.MouseEvent
返回
包含布尔

是否有任何值在半径内。

详细信息字典

事件上下文详细信息的艺术家特定字典,例如选择半径中包含哪些点。有关详细信息,请参阅各个 Artist 子类。

绘制渲染器[来源] #

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

如果艺术家不可见,这将无效(Artist.get_visible 返回 False)。

参数
渲染器RendererBase子类。

笔记

此方法在 Artist 子类中被覆盖。

draw_frame ( b ) [来源] #

设置是否绘制图例框补丁。

参数
b布尔值
get_alignment ( ) [来源] #

获取图例框的对齐值

get_bbox_to_anchor ( ) [来源] #

返回图例将锚定到的 bbox。

get_children ( ) [来源] #

Artist返回this的子节点列表Artist

类方法 get_default_handler_map ( ) [来源] #

返回所有图例共享的全局默认处理程序映射。

get_draggable ( ) [来源] #

True如果图例可拖动,则返回,False否则。

get_frame ( ) [来源] #

返回Rectangle用于构图的图例。

get_frame_on ( ) [来源] #

获取是否绘制了图例框补丁。

静态 get_legend_handler ( legend_handler_map , orig_handle ) [来源] #

从对应于orig_handler的legend_handler_map返回一个图例处理程序。

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

它首先检查orig_handle本身是否是 legend_handler_map 中的键 返回关联的值。否则,它会按其方法解析顺序检查每个类。如果没有找到匹配的键,则返回None

get_legend_handler_map ( ) [来源] #

返回此图例实例的处理程序映射。

get_lines ( ) [来源] #

返回Line2D图例中的 s 列表。

get_patches ( ) [来源] #

返回Patch图例中的 s 列表。

get_texts ( ) [来源] #

返回Text图例中的 s 列表。

get_tightbbox ( renderer = None ) [source] #

喜欢Artist.get_window_extent,但包括任何剪辑。

参数
渲染器RendererBase子类

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

返回
Bbox

封闭的边界框(在图中像素坐标中)。

get_title ( ) [来源] #

返回Text图例标题的实例。

get_window_extent ( renderer = None ) [source] #

在显示空间中获取艺术家的边界框。

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

子类应覆盖以包含在边界框“紧密”计算中。默认是在 0, 0 处返回一个空的边界框。

使用此功能时要小心,如果艺术家的艺术家窗口范围发生变化,结果将不会更新。由于变换堆栈中的任何更改,例如更改轴限制、图形大小或使用的画布(如保存图形时所做的那样),范围可能会发生变化。这可能会导致意外行为,其中交互式图形在屏幕上看起来很好,但会错误地保存。

设置* agg_filter=<UNSET> alignment=<UNSET> alpha=<UNSET>动画=<UNSET> bbox_to_anchor=<UNSET> clip_box=<UNSET> clip_on=<UNSET> clip_path=<UNSET > , draggable=<UNSET> , frame_on=<UNSET> , gid=<UNSET> , in_layout=<UNSET> , label=<UNSET> , mouseover=<UNSET> , ncols=<UNSET> , path_effects=<UNSET> ,选择器=<UNSET> ,光栅化=<UNSET> ,sketch_params=<UNSET> , snap=<UNSET> , title=<UNSET> , transform=<UNSET> , url=<UNSET> , visible=<UNSET> , zorder=<UNSET> ) [来源] #

一次设置多个属性。

支持的属性是

财产

描述

agg_filter

一个过滤器函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和距图像左下角的两个偏移量

alignment

{'中心','左','右'}。

alpha

标量或无

animated

布尔

bbox_to_anchor

BboxBase或元组

clip_box

Bbox

clip_on

布尔

clip_path

补丁或(路径,变换)或无

draggable

布尔

figure

Figure

frame_on

布尔

gid

字符串

in_layout

布尔

label

目的

mouseover

布尔

ncols

未知

path_effects

AbstractPathEffect

picker

None 或 bool 或 float 或可调用

rasterized

布尔

sketch_params

(比例:浮动,长度:浮动,随机性:浮动)

snap

布尔或无

title

字符串

transform

Transform

url

字符串

visible

布尔

zorder

漂浮

set_alignment (对齐) [来源] #

设置图例标题和条目框的对齐方式。

条目作为单个块对齐,因此标记始终对齐。

参数
对齐{'中心','左','右'}。
set_bbox_to_anchor ( bbox , transform = None ) [source] #

设置图例将锚定到的 bbox。

参数
bboxBboxBase或元组

可以通过以下方式指定边界框:

  • 一个BboxBase实例

  • 给定变换中的元组(如果没有,则归一化轴坐标)(left, bottom, width, height)

  • 将假定宽度和高度为零的元组。(left, bottom)

  • None,移除 bbox 锚定,并使用父 bbox。

变换Transform,可选

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

类方法 set_default_handler_map ( handler_map ) [source] #

设置全局默认处理程序映射,由所有图例共享。

set_draggable ( state , use_blit = False , update = 'loc' ) [source] #

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

参数
状态布尔

是否启用鼠标拖动。

use_blit bool,可选

使用 blitting 更快的图像合成。有关详细信息,请参阅 FuncAnimation

更新{'loc', 'bbox'},可选

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

  • 'loc': 更新图例的loc参数

  • 'bbox': 更新图例的bbox_to_anchor参数

返回
DraggableLegend

如果stateTruethis 返回DraggableLegendhelper 实例。否则返回None

set_frame_on ( b ) [来源] #

设置是否绘制图例框补丁。

参数
b布尔值
set_ncols ( ncols ) [来源] #

设置列数。

set_title ( title , prop = None ) [来源] #

设置图例标题和标题样式。

参数
标题字符串

传说标题。

道具font_manager.FontPropertiesstrpathlib.Path

图例标题的字体属性。如果是str,则将其解释为由 . 解析的 fontconfig 模式 FontProperties。如果 a pathlib.Path,则将其解释为字体文件的绝对路径。

类方法 update_default_handler_map ( handler_map ) [source] #

更新所有图例共享的全局默认处理程序映射。

zorder = 5 #