matplotlib.offsetbox#

Inheritance diagram of matplotlib.offsetbox

用于 Artist(美工对象)的容器类。

OffsetBox

本模块中定义的所有容器美工对象的基类。

AnchoredOffsetbox, AnchoredText

相对于父坐标轴或特定锚点锚定并对齐任意 Artist 或文本。

DrawingArea

具有固定宽度和高度的容器。子对象在容器内有固定位置,并可能被裁剪。

HPacker, VPacker

用于垂直或水平布局其子对象的容器。

PaddedBox

用于在 Artist 周围添加内边距的容器。

TextArea

包含单个 Text 实例。

class matplotlib.offsetbox.AnchoredOffsetbox(loc, *, pad=0.4, borderpad=0.5, child=None, prop=None, frameon=True, bbox_to_anchor=None, bbox_transform=None, **kwargs)[source]#

基类: OffsetBox

根据位置 loc 放置的 OffsetBox。

AnchoredOffsetbox 只有一个子对象。当需要多个子对象时,使用额外的 OffsetBox 将它们括起来。默认情况下,偏移框相对于其父坐标轴进行锚定。您可以显式指定 bbox_to_anchor。

参数:
locstr

框的位置。有效位置为 'upper left'、'upper center'、'upper right'、'center left'、'center'、'center right'、'lower left'、'lower center'、'lower right'。为了向后兼容,也接受数值。详情请参阅 Legend 的 loc 参数。

padfloat, 默认值:0.4

子项周围的填充,作为字号的一部分。

borderpadfloat 或 (float, float),默认值:0.5

偏移框框架与 bbox_to_anchor 之间的内边距。如果是浮点数,x 和 y 使用相同的内边距。如果是两个浮点数的元组,则分别指定 (x, y) 的内边距。

3.11 版本新增:borderpad 参数现在接受 (x, y) 内边距元组。

childOffsetBox

将被锚定的框。

propFontProperties

这仅用作内边距的参考。如果未提供,则使用 rcParams["legend.fontsize"](默认值:'medium')。

frameonbool

是否在框周围绘制边框。

bbox_to_anchorBboxBase,2 元组,或 4 元组浮点数

与 *loc* 结合使用,用于定位图例的框。

bbox_transformNone 或 matplotlib.transforms.Transform

边界框 (*bbox_to_anchor*) 的变换。

**kwargs

所有其他参数都会传递给 OffsetBox。

备注

有关锚定机制的详细说明,请参阅 Legend。

codes = {'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}#
draw(renderer)[source]#

如有必要,更新子对象的位置并将它们绘制到给定的 renderer 上。

get_bbox(renderer)[source]#

返回偏移框的边界框,忽略父偏移。

get_bbox_to_anchor()[source]#

返回该框所锚定的 bbox。

get_child()[source]#

返回子对象。

get_children()[source]#

返回子对象列表。

get_offset(bbox, renderer)[source]#

以元组 (x, y) 的形式返回偏移量。

必须提供范围参数,以处理偏移量由可调用对象动态确定的情况(请参阅 set_offset)。

参数:
bboxBbox
rendererRendererBase 子类
set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, bbox_to_anchor=<UNSET>, child=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, gid=<UNSET>, height=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, offset=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, zorder=<UNSET>)[source]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

bbox_to_anchor

未知

child

未知

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

figure

Figure

gid

str

height

浮点数

in_layout

布尔值

label

object

mouseover

布尔值

offset

(float, float) 或 callable

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

width

浮点数

zorder

浮点数

set_bbox_to_anchor(bbox, transform=None)[source]#

设置该框所锚定的 bbox。

bbox 可以是 Bbox 实例、[左, 下, 宽, 高] 的列表,或者 [左, 下] 的列表(此时假设宽度和高度为零)。bbox 将通过给定的变换转换为显示坐标。

set_child(child)[source]#

设置要锚定的子对象。

update_frame(bbox, fontsize=None)[source]#
zorder = 5#
class matplotlib.offsetbox.AnchoredText(s, loc, *, pad=0.4, borderpad=0.5, prop=None, **kwargs)[source]#

基类: AnchoredOffsetbox

带有 Text 的 AnchoredOffsetbox。

参数:
sstr

文本。

locstr

位置代码。请参阅 AnchoredOffsetbox。

padfloat, 默认值:0.4

文本周围的内边距,以字号 (fontsize) 的倍数计算。

borderpadfloat, 默认值:0.5

偏移框框架与 bbox_to_anchor 之间的间距。

propdict, 可选

传递给 AnchoredText 内包含的 Text 实例的关键字参数字典。

**kwargs

所有其他参数都传递给 AnchoredOffsetbox。

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, bbox_to_anchor=<UNSET>, child=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, gid=<UNSET>, height=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, offset=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, zorder=<UNSET>)[source]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

bbox_to_anchor

未知

child

未知

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

figure

Figure

gid

str

height

浮点数

in_layout

布尔值

label

object

mouseover

布尔值

offset

(float, float) 或 callable

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

width

浮点数

zorder

浮点数

class matplotlib.offsetbox.AnnotationBbox(offsetbox, xy, xybox=None, xycoords='data', boxcoords=None, *, frameon=True, pad=0.4, annotation_clip=None, box_alignment=(0.5, 0.5), bboxprops=None, arrowprops=None, fontsize=None, **kwargs)[source]#

基类: Artist, _AnnotationBase

引用特定位置 xy 的 OffsetBox 的容器。

可选择绘制一个从偏移框指向 xy 的箭头。

这类似于 Annotation,但使用的是 OffsetBox 而非 Text。

参数:
offsetboxOffsetBox
xy(float, float)

要标注的点 *(x, y)*。坐标系统由 *xycoords* 决定。

xybox(float, float),默认值:xy

放置文本的位置 (x, y)。坐标系由 boxcoords 决定。

xycoords单个或两个字符串的元组、Artist、Transform 或可调用对象,默认值:'data'

xy 所在的坐标系。有关详细说明,请参阅 Annotation 中的 xycoords 参数。

boxcoords单个或两个字符串的元组、Artist、Transform 或可调用对象,默认值:xycoords 的值

xybox 所在的坐标系。有关详细说明,请参阅 Annotation 中的 textcoords 参数。

frameonbool,默认值:True

默认情况下,文本被一个白色的 FancyBboxPatch 包围(可通过 AnnotationBbox 的 patch 属性访问)。如果 frameon 设置为 False,则此补丁变为不可见。

annotation_clip: bool 或 None,默认值:None

当标注点 *xy* 在坐标系区域之外时,是否剪裁(即不绘制)标注。

  • 如果为 *True*,当 *xy* 在坐标系之外时,标注将被剪裁。

  • 如果为 *False*,标注将始终被绘制。

  • 如果为 *None*,当 *xy* 在坐标系之外且 *xycoords* 为 'data' 时,标注将被剪裁。

padfloat, 默认值:0.4

偏移框周围的内边距。

box_alignment(float, float)

两个浮点数的元组,用于指定偏移框相对于 boxcoords 的垂直和水平对齐方式。左下角为 (0, 0),右上角为 (1, 1)。

bboxpropsdict, 可选

为注释边界框设置属性的字典,例如 boxstyle 和 alpha。详情请参阅 FancyBboxPatch。

arrowprops: dict, 可选

箭头属性,说明请参阅 Annotation。

fontsize: float 或 str, 可选

转换为点数并作为 mutation_scale 传递给 FancyBboxPatch,以缩放框样式属性(如 pad 或 rounding_size)。此名称借鉴了 Text,其中 fontsize 也定义了缩放比例。如果未提供,则使用 rcParams["legend.fontsize"](默认值:'medium')。有效值请参阅 Text.set_fontsize。

**kwargs

其他 AnnotationBbox 属性。请参阅 AnnotationBbox.set 获取列表。

property anncoords#
contains(mouseevent)[source]#

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

参数:
mouseeventMouseEvent
返回:
contains布尔值

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

details字典

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

draw(renderer)[source]#

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

如果美工对象不可见(Artist.get_visible 返回 False),则此操作无效。

参数:
rendererRendererBase 子类。

备注

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

get_children()[source]#

返回此 Artist 的子 Artist 列表。

get_fontsize()[source]#

返回以点数为单位的字号。

get_tightbbox(renderer=None)[source]#

获取美工对象在显示空间中的边界框,考虑裁剪。

参数:
rendererRendererBase, 可选

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

返回:
Bbox or None

闭合的边界框(图形像素坐标),如果裁剪导致无交集则返回 None。

另请参阅

Artist.get_window_extent

获取美工边界框,忽略裁剪。

get_window_extent(renderer=None)[source]#

获取美工对象在显示空间中的边界框,忽略裁剪。

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

子类应覆盖此方法,以便将其包含在边界框“紧密”计算中。默认返回一个位于 0, 0 的空边界框。

警告

范围可能会由于变换栈的任何更改而改变,例如更改坐标轴限制、图形大小、使用的画布(保存图形时)或 DPI。

依赖于一次性获取的窗口范围可能会在某些情况下导致意外行为,例如交互式图形被调整大小或移动到具有不同 DPI 的屏幕,或者在屏幕上看起来没问题的图形在保存到文件时渲染不正确。

为了获得准确的结果,您可能需要手动调用 savefig 或 draw_without_rendering,让 Matplotlib 计算渲染大小。

参数:
rendererRendererBase, 可选

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

另请参阅

Artist.get_tightbbox

获取美工边界框,考虑裁剪。

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, annotation_clip=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, fontsize=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

annotation_clip(标注裁剪)

布尔值或 None

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

figure

未知

fontsize

未知

gid

str

in_layout

布尔值

label

object

mouseover

布尔值

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

zorder

浮点数

set_figure(fig)[source]#

设置美工对象所属的 Figure 或 SubFigure 实例。

警告

此函数通常不应由用户调用。

这是一个低级 API,仅修改美工对象的内部状态。仅修改此项是不够的,通常会导致不一致的状态,因为图形的状态也必须相应更改。

用户通常应该调用高级 API,即 Figure.add_artist 或坐标轴方法 Adding artists 之一。

参数:
figFigure 或 SubFigure
set_fontsize(s=None)[source]#

设置以点数为单位的字号。

如果未给定 s,则重置为 rcParams["legend.fontsize"](默认值:'medium')。

update_positions(renderer)[source]#

更新注释点、文本和箭头的像素位置。

property xyann#
zorder = 3#
class matplotlib.offsetbox.AuxTransformBox(aux_transform)[source]#

基类: OffsetBox

带有辅助变换的 OffsetBox。

所有子美工对象首先使用 aux_transform 进行变换,然后进行偏移平移(所有子对象相同),以便子对象的边界框与绘制的框匹配。(换句话说,向 aux_transform 添加任意平移没有任何效果,因为它会被随后的偏移抵消。)

AuxTransformBox 类似于 DrawingArea,区别在于框的范围不是预先确定的,而是从其子对象的窗口范围计算得出的,并且子对象的范围将在变换后的坐标中计算。

add_artist(a)[source]#

向容器框添加 Artist。

draw(renderer)[source]#

如有必要,更新子对象的位置并将它们绘制到给定的 renderer 上。

get_bbox(renderer)[source]#

返回偏移框的边界框,忽略父偏移。

get_offset()[source]#

返回容器的偏移量。

get_transform()[source]#

返回应用于子对象的 Transform。

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, gid=<UNSET>, height=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, offset=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, zorder=<UNSET>)[source]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

figure

Figure

gid

str

height

浮点数

in_layout

布尔值

label

object

mouseover

布尔值

offset

(浮点数, 浮点数)

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

未知

url

str

visible

布尔值

width

浮点数

zorder

浮点数

set_offset(xy)[source]#

设置容器的偏移量。

参数:
xy(float, float)

以显示单位表示的偏移量的 (x, y) 坐标。

set_transform(t)[source]#

set_transform 被忽略。

class matplotlib.offsetbox.DraggableAnnotation(annotation, use_blit=False)[source]#

基类: DraggableBase

save_offset()[source]#
update_offset(dx, dy)[source]#
class matplotlib.offsetbox.DraggableBase(ref_artist, use_blit=False)[source]#

基类: object

可拖拽美工对象(图例、偏移框)的辅助基类。

派生类必须重写以下方法

def save_offset(self):
    '''
    Called when the object is picked for dragging; should save the
    reference position of the artist.
    '''

def update_offset(self, dx, dy):
    '''
    Called during the dragging; (*dx*, *dy*) is the pixel offset from
    the point where the mouse drag started.
    '''

您可以选择重写以下方法

def finalize_offset(self):
    '''Called when the mouse is released.'''

在当前 DraggableLegend 和 DraggableAnnotation 的实现中,update_offset 在显示坐标中放置美工对象,而 finalize_offset 会在坐标轴坐标中重新计算它们的位置并设置相关属性。

property canvas#
property cids#
disconnect()[source]#

断开回调。

finalize_offset()[source]#
on_motion(evt)[source]#
on_pick(evt)[source]#
on_release(event)[源码]#
save_offset()[源码]#
update_offset(dx, dy)[源码]#
class matplotlib.offsetbox.DraggableOffsetBox(ref_artist, offsetbox, use_blit=False)[源码]#

基类: DraggableBase

get_loc_in_canvas()[源码]#
save_offset()[源码]#
update_offset(dx, dy)[源码]#
class matplotlib.offsetbox.DrawingArea(width, height, xdescent=0.0, ydescent=0.0, clip=False)[源码]#

基类: OffsetBox

DrawingArea 可以包含任何 Artist 作为其子级。DrawingArea 具有固定的宽度和高度。子级相对于父级的坐标是固定的。子级可以在父级的边界处被裁剪。

参数:
width, heightfloat

容器盒的宽度和高度。

xdescent, ydescentfloat

盒在 x 和 y 方向上的下沉量。

clipbool

是否将子级裁剪到该框内。

add_artist(a)[源码]#

向容器框添加 Artist。

property clip_children#

该 DrawingArea 的子级是否应被 DrawingArea 的边界框裁剪。

draw(renderer)[源码]#

如有必要,更新子对象的位置并将它们绘制到给定的 renderer 上。

get_bbox(renderer)[源码]#

返回偏移框的边界框,忽略父偏移。

get_offset()[源码]#

返回容器的偏移量。

get_transform()[源码]#

返回应用于子对象的 Transform。

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, gid=<UNSET>, height=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, offset=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, zorder=<UNSET>)[源码]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

figure

Figure

gid

str

height

浮点数

in_layout

布尔值

label

object

mouseover

布尔值

offset

(浮点数, 浮点数)

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

未知

url

str

visible

布尔值

width

浮点数

zorder

浮点数

set_offset(xy)[源码]#

设置容器的偏移量。

参数:
xy(float, float)

以显示单位表示的偏移量的 (x, y) 坐标。

set_transform(t)[源码]#

set_transform 被忽略。

class matplotlib.offsetbox.HPacker(pad=0.0, sep=0.0, width=None, height=None, align='baseline', mode='fixed', children=None)[源码]#

基类: PackerBase

HPacker 水平排列其子级,并在绘制时自动调整它们的相对位置。

+-------------------------------+
| Child 1    Child 2    Child 3 |
+-------------------------------+
参数:
padfloat, default: 0.0

边界填充(以磅为单位)。

sepfloat, default: 0.0

项目之间的间距(以磅为单位)。

width, heightfloat, optional

容器盒的宽度和高度(以像素为单位),若为 None 则自动计算。

align{'top', 'bottom', 'left', 'right', 'center', 'baseline'}, default: 'baseline'

框的对齐方式。

mode{'fixed', 'expand', 'equal'}, default: 'fixed'

包装模式。

  • 'fixed' 将给定的 Artist 紧密排列,间距为 sep。

  • 'expand' 使用最大可用空间,并以相等的间距分布 Artist。

  • 'equal': 每个 Artist 占用相等的可用空间,并在其中左对齐(或顶对齐)。

childrenlist of Artist

要包装的 Artist。

备注

pad 和 sep 以磅为单位,并将随渲染器 dpi 进行缩放,而 width 和 height 以像素为单位,不进行缩放。

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, gid=<UNSET>, height=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, offset=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, zorder=<UNSET>)[源码]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

figure

Figure

gid

str

height

浮点数

in_layout

布尔值

label

object

mouseover

布尔值

offset

(float, float) 或 callable

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

width

浮点数

zorder

浮点数

class matplotlib.offsetbox.OffsetBox(**kwargs)[源码]#

基类: Artist

一个简单的容器 Artist。

子 Artist 旨在相对于其父级在特定位置绘制。

作为 Artist 本身,所有关键字参数都会传递给 Artist。

property axes#

Artist 所驻留的 Axes 实例,若无则为 None。

contains(mouseevent)[源码]#

将鼠标事件的包含性检查委托给子级。

作为容器,OffsetBox 本身不对鼠标事件做出响应。

参数:
mouseeventMouseEvent
返回:
contains布尔值

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

details字典

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

另请参阅

Artist.contains
draw(renderer)[源码]#

如有必要,更新子对象的位置并将它们绘制到给定的 renderer 上。

get_bbox(renderer)[源码]#

返回偏移框的边界框,忽略父偏移。

get_children()[源码]#

返回子 Artist 的列表。

get_offset(bbox, renderer)[源码]#

以元组 (x, y) 的形式返回偏移量。

必须提供范围参数,以处理偏移量由可调用对象动态确定的情况(请参阅 set_offset)。

参数:
bboxBbox
rendererRendererBase 子类
get_visible_children()[源码]#

返回可见的子 Artist 列表。

get_window_extent(renderer=None)[源码]#

获取美工对象在显示空间中的边界框,忽略裁剪。

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

子类应覆盖此方法,以便将其包含在边界框“紧密”计算中。默认返回一个位于 0, 0 的空边界框。

警告

范围可能会由于变换栈的任何更改而改变,例如更改坐标轴限制、图形大小、使用的画布(保存图形时)或 DPI。

依赖于一次性获取的窗口范围可能会在某些情况下导致意外行为,例如交互式图形被调整大小或移动到具有不同 DPI 的屏幕,或者在屏幕上看起来没问题的图形在保存到文件时渲染不正确。

为了获得准确的结果,您可能需要手动调用 savefig 或 draw_without_rendering,让 Matplotlib 计算渲染大小。

参数:
rendererRendererBase, 可选

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

另请参阅

Artist.get_tightbbox

获取美工边界框,考虑裁剪。

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, gid=<UNSET>, height=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, offset=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, zorder=<UNSET>)[源码]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

figure

Figure

gid

str

height

浮点数

in_layout

布尔值

label

object

mouseover

布尔值

offset

(float, float) 或 callable

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

width

浮点数

zorder

浮点数

set_figure(fig)[源码]#

设置 OffsetBox 及其所有子级的 Figure。

参数:
figFigure
set_height(height)[源码]#

设置盒的高度。

参数:
heightfloat
set_offset(xy)[源码]#

设置偏移量。

参数:
xy(float, float) or callable

以显示单位表示的偏移量 (x, y) 坐标。既可以直接作为元组 (x, y) 提供,也可以通过提供一个将范围转换为偏移量的函数来提供。该函数必须具有以下签名:

def offset(width, height, xdescent, ydescent, renderer) -> (float, float)
set_width(width)[源码]#

设置盒的宽度。

参数:
width浮点数
class matplotlib.offsetbox.OffsetImage(arr, *, zoom=1, cmap=None, norm=None, interpolation=None, origin=None, filternorm=True, filterrad=4.0, resample=False, dpi_cor=True, **kwargs)[源码]#

基类: OffsetBox

用于图像的容器 Artist。

图像数据使用 BboxImage 显示。此图像旨在相对于父 Artist 进行定位。

参数:
arr: array-like or `PIL.Image.Image`

要进行颜色编码的数据。其解读取决于形状:

  • (M, N) ndarray 或掩码数组:要进行色彩映射的值

  • (M, N, 3): RGB 数组

  • (M, N, 4): RGBA 数组

zoom: float, default: 1

缩放因子

  • 无缩放:因子 = 1

  • 放大:因子 > 1

  • 缩小:0 < 因子 < 1

cmapstr or Colormap, default: rcParams["image.cmap"] (default: 'viridis')

用于将标量数据映射到颜色的 Colormap 实例或已注册的 colormap 名称。如果 X 是 RGB(A),此参数将被忽略。

normstr or Normalize, default: None

将亮度映射到 0-1。如果 X 是 RGB(A),此参数将被忽略。

interpolationstr, default: rcParams["image.interpolation"] (default: 'auto')

支持的值有 'none', 'auto', 'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos', 'blackman'。

origin{'upper', 'lower'}, default: rcParams["image.origin"] (default: 'upper')

将数组的 [0, 0] 索引放在 Axes 的左上角或左下角。'upper' 约定通常用于矩阵和图像。

filternormbool,默认值:True

antigrain 图像调整大小过滤器的参数(参见 antigrain 文档)。如果设置了 filternorm,过滤器将标准化整数值并校正舍入误差。它不会对浮点源值做任何处理,只会根据 1.0 的规则校正整数,这意味着像素权重的总和必须等于 1.0。因此,过滤器函数必须生成适当形状的图形。

filterradfloat > 0, default: 4

具有半径参数的过滤器的过滤半径,即当插值为以下之一时:“sinc”、“lanczos”或“blackman”。

resamplebool, default: False

当为 True 时,使用全重采样方法。当为 False 时,仅在输出图像大于输入图像时进行重采样。

dpi_cor: bool, default: True

针对后端 DPI 设置进行校正

**kwargsBboxImage properties
draw(renderer)[源码]#

如有必要,更新子对象的位置并将它们绘制到给定的 renderer 上。

get_bbox(renderer)[源码]#

返回偏移框的边界框,忽略父偏移。

get_children()[源码]#

返回子 Artist 的列表。

get_data()[源码]#
get_offset()[源码]#

返回容器的偏移量。

get_zoom()[源码]#
set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, data=<UNSET>, gid=<UNSET>, height=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, offset=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, zoom=<UNSET>, zorder=<UNSET>)[源码]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

data

未知

figure

Figure

gid

str

height

浮点数

in_layout

布尔值

label

object

mouseover

布尔值

offset

(float, float) 或 callable

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

width

浮点数

缩放

未知

zorder

浮点数

set_data(arr)[源码]#
set_zoom(zoom)[源码]#
class matplotlib.offsetbox.PackerBase(pad=0.0, sep=0.0, width=None, height=None, align='baseline', mode='fixed', children=None)[源码]#

基类: OffsetBox

参数:
padfloat, default: 0.0

边界填充(以磅为单位)。

sepfloat, default: 0.0

项目之间的间距(以磅为单位)。

width, heightfloat, optional

容器盒的宽度和高度(以像素为单位),若为 None 则自动计算。

align{'top', 'bottom', 'left', 'right', 'center', 'baseline'}, default: 'baseline'

框的对齐方式。

mode{'fixed', 'expand', 'equal'}, default: 'fixed'

包装模式。

  • 'fixed' 将给定的 Artist 紧密排列,间距为 sep。

  • 'expand' 使用最大可用空间,并以相等的间距分布 Artist。

  • 'equal': 每个 Artist 占用相等的可用空间,并在其中左对齐(或顶对齐)。

childrenlist of Artist

要包装的 Artist。

备注

pad 和 sep 以磅为单位,并将随渲染器 dpi 进行缩放,而 width 和 height 以像素为单位,不进行缩放。

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, gid=<UNSET>, height=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, offset=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, zorder=<UNSET>)[源码]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

figure

Figure

gid

str

height

浮点数

in_layout

布尔值

label

object

mouseover

布尔值

offset

(float, float) 或 callable

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

width

浮点数

zorder

浮点数

class matplotlib.offsetbox.PaddedBox(child, pad=0.0, *, draw_frame=False, patch_attrs=None)[源码]#

基类: OffsetBox

用于在 Artist 周围添加内边距的容器。

PaddedBox 包含一个 FancyBboxPatch,用于在渲染时对其进行可视化。

+----------------------------+
|                            |
|                            |
|                            |
| <--pad--> Artist           |
|             ^              |
|            pad             |
|             v              |
+----------------------------+
属性:
pad浮点数

填充(以磅为单位)。

patchFancyBboxPatch

当 draw_frame 为 True 时,此 FancyBboxPatch 会变为可见并创建盒周围的边框。

参数:
childArtist

被包含的 Artist。

padfloat, default: 0.0

填充(以磅为单位)。这将随渲染器 dpi 进行缩放。相比之下,width 和 height 以 像素 为单位,因此不会进行缩放。

draw_framebool

是否绘制被包含的 FancyBboxPatch。

patch_attrsdict or None

传递给被包含的 FancyBboxPatch 的附加参数。

draw(renderer)[源码]#

如有必要,更新子对象的位置并将它们绘制到给定的 renderer 上。

draw_frame(renderer)[源码]#
set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, gid=<UNSET>, height=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, offset=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, zorder=<UNSET>)[源码]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

figure

Figure

gid

str

height

浮点数

in_layout

布尔值

label

object

mouseover

布尔值

offset

(float, float) 或 callable

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

width

浮点数

zorder

浮点数

update_frame(bbox, fontsize=None)[源码]#
class matplotlib.offsetbox.TextArea(s, *, textprops=None, multilinebaseline=False)[源码]#

基类: OffsetBox

TextArea 是用于单个 Text 实例的容器 Artist。

默认情况下,文本放置在 (0, 0) 处,具有基线+左对齐方式。TextArea 实例的宽度和高度即为其子文本的宽度和高度。

参数:
sstr

要显示的文本。

textpropsdict, default: {}

传递给 TextArea 中 Text 实例的关键字参数字典。

multilinebaselinebool, default: False

是否调整多行文本的基线,使其与单行文本(大致)中心对齐。

draw(renderer)[源码]#

如有必要,更新子对象的位置并将它们绘制到给定的 renderer 上。

get_bbox(renderer)[源码]#

返回偏移框的边界框,忽略父偏移。

get_multilinebaseline()[源码]#

获取 multilinebaseline。

get_offset()[源码]#

返回容器的偏移量。

get_text()[源码]#

返回此区域文本的字符串表示形式。

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, gid=<UNSET>, height=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, multilinebaseline=<UNSET>, offset=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, text=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, zorder=<UNSET>)[源码]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

figure

Figure

gid

str

height

浮点数

in_layout

布尔值

label

object

mouseover

布尔值

multilinebaseline

未知

offset

(浮点数, 浮点数)

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

text

未知

transform

未知

url

str

visible

布尔值

width

浮点数

zorder

浮点数

set_multilinebaseline(t)[源码]#

设置 multilinebaseline。

如果为 True,则调整多行文本的基线,使其与单行文本(大致)中心对齐。例如,图例实现使用此功能,以便单行标签与基线对齐,而多行标签则与它们“中心”对齐。

set_offset(xy)[源码]#

设置容器的偏移量。

参数:
xy(float, float)

以显示单位表示的偏移量的 (x, y) 坐标。

set_text(s)[源码]#

将此区域的文本设置为字符串。

set_transform(t)[源码]#

set_transform 被忽略。

class matplotlib.offsetbox.VPacker(pad=0.0, sep=0.0, width=None, height=None, align='baseline', mode='fixed', children=None)[源码]#

基类: PackerBase

VPacker 垂直排列其子级,并在绘制时自动调整它们的相对位置。

+---------+
| Child 1 |
| Child 2 |
| Child 3 |
+---------+
参数:
padfloat, default: 0.0

边界填充(以磅为单位)。

sepfloat, default: 0.0

项目之间的间距(以磅为单位)。

width, heightfloat, optional

容器盒的宽度和高度(以像素为单位),若为 None 则自动计算。

align{'top', 'bottom', 'left', 'right', 'center', 'baseline'}, default: 'baseline'

框的对齐方式。

mode{'fixed', 'expand', 'equal'}, default: 'fixed'

包装模式。

  • 'fixed' 将给定的 Artist 紧密排列,间距为 sep。

  • 'expand' 使用最大可用空间,并以相等的间距分布 Artist。

  • 'equal': 每个 Artist 占用相等的可用空间,并在其中左对齐(或顶对齐)。

childrenlist of Artist

要包装的 Artist。

备注

pad 和 sep 以磅为单位,并将随渲染器 dpi 进行缩放,而 width 和 height 以像素为单位,不进行缩放。

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, gid=<UNSET>, height=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, offset=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, zorder=<UNSET>)[源码]#

一次性设置多个属性。

a.set(a=A, b=B, c=C)

等同于

a.set_a(A)
a.set_b(B)
a.set_c(C)

除全名属性外,还支持别名,例如 set(lw=2) 等同于 set(linewidth=2),但同时传入两者会报错。

各个 setter 的调用顺序与 set() 中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

figure

Figure

gid

str

height

浮点数

in_layout

布尔值

label

object

mouseover

布尔值

offset

(float, float) 或 callable

path_effects

AbstractPathEffect 的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

width

浮点数

zorder

浮点数