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 参数。
- 图例 :
-
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)[源代码]¶ -
在位置loc的轴上放置图例。
参数: 其他参数: - 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.
笔记
用户可以使用 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)[源代码]¶ 测试艺术家是否包含鼠标事件。
参数: 返回: - contains布尔
是否有任何值在半径范围内。
- details双关语
事件上下文详细信息的艺术家专用词典,例如拾取半径中包含哪些点。有关详细信息,请参见各个艺术家子类。
-
draw(renderer)[源代码]¶ 使用给定的渲染器绘制艺术家(及其子对象)。
如果艺术家不可见,则此操作无效 (
Artist.get_visible返回False)。参数: - 渲染器 :
RendererBase子类。RenderBase子类。
笔记
此方法在Artist子类中被重写。
- 渲染器 :
-
draw_frame(b)¶ 设置是否绘制图例框修补程序。
参数: - b布尔
-
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_tightbbox(renderer)[源代码]¶ 喜欢
Legend.get_window_extent,但使用方框作为图例。参数: - 渲染器 :
RendererBase子类RenderBase子类 将用于绘制图形的渲染器(即
fig.canvas.get_renderer())
返回: BboxBase图形像素坐标中的边界框。
- 渲染器 :
-
get_window_extent(renderer=None)[源代码]¶ 获取显示空间中的轴边界框。
边界框的宽度和高度为非负。
子类应重写以包含在边界框“紧”计算中。默认值是返回0,0处的空边界框。
使用此函数时要小心,如果艺术家窗口的范围发生更改,结果将不会更新。范围可能因变换堆栈中的任何更改而更改,例如更改轴限制、图形大小或使用的画布(如保存图形时所做)。这可能会导致意想不到的行为,在屏幕上交互式图形看起来很好,但保存不正确。
-
set_draggable(state, use_blit=False, update='loc')[源代码]¶ 启用或禁用对图例的鼠标拖动支持。
参数: - state布尔
是否启用鼠标拖动。
- use_blit可选的布尔
使用Blitting可以更快地合成图像。详情见 FuncAnimation .
- update'loc'、'bbox',可选
拖动时要更改的图例参数:
- “loc”:更新 loc 图例的参数
- “bbox”:更新 bbox_to_anchor 图例的参数
返回: DraggableLegend或 None如果 状态 是
True这将返回DraggableLegend助手实例。否则这就回来了 None .
-
zorder= 5¶
- loc : str or pair of floats, default: