matplotlib.legend
#
legend 模块定义了 Legend 类,该类负责绘制与轴和/或图形相关的图例。
该类Legend
是图例句柄和图例文本的容器。
图例处理程序图指定如何从轴或图形中的艺术家(线条、补丁等)创建图例句柄。默认图例处理程序在legend_handler
模块中定义。虽然并非所有艺术家类型都包含在默认图例处理程序中,但可以定义自定义图例处理程序以支持任意对象。
有关详细信息,请参阅图例指南。
- 类 matplotlib.legend。DraggableLegend ( legend , use_blit = False , update = 'loc' ) [source] #
-
环绕 a
Legend
以支持鼠标拖动。- 参数:
- 传奇
Legend
Legend
要包装的实例。- use_blit bool,可选
使用 blitting 更快的图像合成。有关详细信息,请参阅 FuncAnimation。
- 更新{'loc', 'bbox'},可选
如果为“loc”,则在完成时更新图例的loc参数。如果是“bbox”,则更新bbox_to_anchor参数。
- 传奇
- 类 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 的轴上放置一个图例。
- 参数:
- 其他参数:
- 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无 or
matplotlib.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被激活并且framealpha为
None
,则默认值被忽略。- facecolor “继承”或颜色,默认值:(
rcParams["legend.facecolor"]
默认值'inherit'
:) 图例的背景颜色。如果
"inherit"
,请使用rcParams["axes.facecolor"]
(默认值:'white'
)。- edgecolor “继承”或颜色,默认值:(
rcParams["legend.edgecolor"]
默认值'0.8'
:) 图例的背景补丁边缘颜色。如果
"inherit"
,请使用 takercParams["axes.edgecolor"]
(默认值:'black'
)。- 模式{“扩展”,无}
如果模式设置为
"expand"
图例将水平扩展以填充轴区域(或bbox_to_anchor,如果定义了图例的大小)。- bbox_transform无或
matplotlib.transforms.Transform
边界框 ( bbox_to_anchor ) 的变换。对于(默认)值,将使用
None
轴的 变换。transAxes
- 标题str 或无
传说的标题。默认为无标题 (
None
)。- title_fontproperties无 or
matplotlib.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
。
- loc str 或一对浮点数,默认值:(
笔记
用户可以使用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} #
- 包含(事件) [来源] #
测试艺术家是否包含鼠标事件。
- 参数:
- 返回:
- 包含布尔
是否有任何值在半径内。
- 详细信息字典
事件上下文详细信息的艺术家特定字典,例如选择半径中包含哪些点。有关详细信息,请参阅各个 Artist 子类。
- 绘制(渲染器)[来源] #
使用给定的渲染器绘制艺术家(及其子级)。
如果艺术家不可见,这将无效(
Artist.get_visible
返回 False)。- 参数:
- 渲染器
RendererBase
子类。
- 渲染器
笔记
此方法在 Artist 子类中被覆盖。
- 静态 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_tightbbox ( renderer = None ) [source] #
喜欢
Artist.get_window_extent
,但包括任何剪辑。- 参数:
- 渲染器
RendererBase
子类 将用于绘制图形的渲染器(即
fig.canvas.get_renderer()
)
- 渲染器
- 返回:
Bbox
封闭的边界框(在图中像素坐标中)。
- 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> ) [来源] #
一次设置多个属性。
支持的属性是
财产
描述
一个过滤器函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和距图像左下角的两个偏移量
{'中心','左','右'}。
标量或无
布尔
BboxBase
或元组布尔
补丁或(路径,变换)或无
布尔
布尔
字符串
布尔
目的
布尔
未知
None 或 bool 或 float 或可调用
布尔
(比例:浮动,长度:浮动,随机性:浮动)
布尔或无
字符串
字符串
布尔
漂浮
- set_draggable ( state , use_blit = False , update = 'loc' ) [source] #
启用或禁用图例的鼠标拖动支持。
- 参数:
- 状态布尔
是否启用鼠标拖动。
- use_blit bool,可选
使用 blitting 更快的图像合成。有关详细信息,请参阅 FuncAnimation。
- 更新{'loc', 'bbox'},可选
拖动时要更改的图例参数:
'loc': 更新图例的loc参数
'bbox': 更新图例的bbox_to_anchor参数
- 返回:
DraggableLegend
或无如果state是
True
this 返回DraggableLegend
helper 实例。否则返回None。
- set_title ( title , prop = None ) [来源] #
设置图例标题和标题样式。
- 参数:
- 标题字符串
传说标题。
- 道具
font_manager.FontProperties
或str
或pathlib.Path
图例标题的字体属性。如果是
str
,则将其解释为由 . 解析的 fontconfig 模式FontProperties
。如果 apathlib.Path
,则将其解释为字体文件的绝对路径。
- zorder = 5 #