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: