matplotlib.transforms

Inheritance diagram of matplotlib.transforms, matplotlib.path

Matplotlib包含用于确定画布上绘制的所有元素的最终位置的任意几何变换的框架。

转换被组成树 TransformNode 其实际值取决于其子级的对象。当孩子的内容发生变化时,他们的父母将自动失效。下次访问失效的转换时,将重新计算以反映这些更改。这种无效/缓存方法可以防止不必要的转换重新编译,并有助于提高交互性能。

例如,下面是用于将数据绘制到图表的转换树的图:

../_images/transforms.png

该框架既可用于仿射转换,也可用于非仿射转换。但是,为了提高速度,我们希望尽可能使用后端渲染器执行仿射转换。因此,在一组数据上只执行转换的仿射或非仿射部分是可能的。仿射总是假定发生在非仿射之后。对于任何转换:

full transform == non-affine part + affine part

后端不应该自己处理非仿射转换。

class matplotlib.transforms.Affine2D(matrix=None, **kwargs)[源代码]

基类:matplotlib.transforms.Affine2DBase

可变的二维仿射变换。

从3x3 numpy float数组初始化仿射转换:

a c e
b d f
0 0 1

如果 矩阵 为“无”,使用标识转换初始化。

__init__(matrix=None, **kwargs)[源代码]

从3x3 numpy float数组初始化仿射转换:

a c e
b d f
0 0 1

如果 矩阵 为“无”,使用标识转换初始化。

__module__ = 'matplotlib.transforms'
__str__()

返回str(self)。

clear()[源代码]

将基础矩阵重置为标识转换。

static from_values(a, b, c, d, e, f)[源代码]

从给定值创建新的Affine2D实例::

a c e
b d f
0 0 1

.

get_matrix()[源代码]

以3x3 numpy数组形式获取底层转换矩阵:

a c e
b d f
0 0 1

.

static identity()[源代码]

返回一个新的 Affine2D 对象,它是标识转换。

除非此转换稍后会发生变化,否则请考虑使用 IdentityTransform 改为类。

rotate(theta)[源代码]

将旋转(以弧度)添加到此转换中。

返回 self ,因此此方法可以很容易地与对 rotate()rotate_deg()translate()scale() .

rotate_around(x, y, theta)[源代码]

添加围绕点(x,y)的旋转(以弧度为单位)。

返回 self ,因此此方法可以很容易地与对 rotate()rotate_deg()translate()scale() .

rotate_deg(degrees)[源代码]

将旋转(以度为单位)添加到此转换中。

返回 self ,因此此方法可以很容易地与对 rotate()rotate_deg()translate()scale() .

rotate_deg_around(x, y, degrees)[源代码]

在适当位置围绕点(X,Y)添加旋转(以度为单位)。

返回 self ,因此此方法可以很容易地与对 rotate()rotate_deg()translate()scale() .

scale(sx, sy=None)[源代码]

在适当位置添加比例。

如果 sy 为“无”,在两个 x -和 y -方向。

返回 self ,因此此方法可以很容易地与对 rotate()rotate_deg()translate()scale() .

set(other)[源代码]

从另一个已冻结的副本设置此转换 Affine2DBase 对象。

set_matrix(mtx)[源代码]

从3x3 numpy数组设置基础转换矩阵:

a c e
b d f
0 0 1

.

skew(xShear, yShear)[源代码]

在适当位置添加倾斜。

X剪YS剪力 剪切角是沿着 x -和 y -轴,分别以弧度表示。

返回 self ,因此此方法可以很容易地与对 rotate()rotate_deg()translate()scale() .

skew_deg(xShear, yShear)[源代码]

在适当位置添加倾斜。

X剪YS剪力 剪切角是沿着 x -和 y -轴,分别以度为单位。

返回 self ,因此此方法可以很容易地与对 rotate()rotate_deg()translate()scale() .

translate(tx, ty)[源代码]

在适当位置添加翻译。

返回 self ,因此此方法可以很容易地与对 rotate()rotate_deg()translate()scale() .

class matplotlib.transforms.Affine2DBase(*args, **kwargs)[源代码]

基类:matplotlib.transforms.AffineBase

所有二维仿射变换的基类。

使用3x3 numpy数组执行二维仿射转换:

a c e
b d f
0 0 1

此类提供只读接口。对于可变的二维仿射变换,请使用 Affine2D .

此类的子类通常只需要重写构造函数和 get_matrix() 生成自定义3x3矩阵。

参数:
shorthand_nameSTR

表示转换的“名称”的字符串。除了提高 str(transform) 当debug=true时。

__module__ = 'matplotlib.transforms'
frozen()[源代码]

返回此转换节点的冻结副本。冻结的副本在其子级更改时不会更新。用于存储变换的先前已知状态,其中 copy.deepcopy() 可以正常使用。

has_inverse = True
input_dims = 2
inverted()[源代码]

返回相应的逆变换。

它坚持住了 x == self.inverted().transform(self.transform(x)) .

此方法的返回值应视为临时值。对…的更新 self 不会对其反向副本进行相应的更新。

property is_separable

布尔(x)->布尔

当参数x为真时返回真,否则返回假。内建的true和false是类bool的唯一两个实例。bool类是int类的子类,不能被子类化。

static matrix_from_values(a, b, c, d, e, f)[源代码]

[Deprecated] 以3x3 numpy数组的形式创建一个新的转换矩阵:

a c e
b d f
0 0 1

笔记

3.2 版后已移除.

output_dims = 2
to_values()[源代码]

返回矩阵的值作为 (a, b, c, d, e, f) 元组。

transform_affine(points)[源代码]

仅对给定的值数组应用此变换的仿射部分。

transform(values) 总是等价于 transform_affine(transform_non_affine(values)) .

在非仿射变换中,这通常是不可操作的。在仿射变换中,这相当于 transform(values) .

参数:
values数组

输入值为NumPy数组的长度 input_dims 或形状(nx input_dims

返回:
数组

输出值为NumPy数组的长度 input_dims 或形状(nx output_dims ),取决于输入。

class matplotlib.transforms.AffineBase(*args, **kwargs)[源代码]

基类:matplotlib.transforms.Transform

任何维数的所有仿射变换的基类。

参数:
shorthand_nameSTR

表示转换的“名称”的字符串。除了提高 str(transform) 当debug=true时。

__array__(*args, **kwargs)[源代码]

数组接口以获取此变换的仿射矩阵。

__eq__(other)[源代码]

返回self==值。

__hash__ = None
__init__(*args, **kwargs)[源代码]
参数:
shorthand_nameSTR

表示转换的“名称”的字符串。除了提高 str(transform) 当debug=true时。

__module__ = 'matplotlib.transforms'
get_affine()[源代码]

获取此转换的仿射部分。

is_affine = True
transform(values)[源代码]

将此转换应用于给定的 价值观 .

参数:
values数组

输入值为NumPy数组的长度 input_dims 或形状(nx input_dims

返回:
数组

输出值为NumPy数组的长度 input_dims 或形状(nx output_dims ),取决于输入。

transform_affine(values)[源代码]

仅对给定的值数组应用此变换的仿射部分。

transform(values) 总是等价于 transform_affine(transform_non_affine(values)) .

在非仿射变换中,这通常是不可操作的。在仿射变换中,这相当于 transform(values) .

参数:
values数组

输入值为NumPy数组的长度 input_dims 或形状(nx input_dims

返回:
数组

输出值为NumPy数组的长度 input_dims 或形状(nx output_dims ),取决于输入。

transform_non_affine(points)[源代码]

仅应用此变换的非仿射部分。

transform(values) 总是等价于 transform_affine(transform_non_affine(values)) .

在非仿射变换中,这通常等价于 transform(values) . 在仿射变换中,这总是一个不运算。

参数:
values数组

输入值为NumPy数组的长度 input_dims 或形状(nx input_dims

返回:
数组

输出值为NumPy数组的长度 input_dims 或形状(nx output_dims ),取决于输入。

transform_path(path)[源代码]

Apply the transform to Path path, returning a new Path.

在某些情况下,此转换可能会将曲线插入以直线段开始的路径中。

transform_path_affine(path)[源代码]

Apply the affine part of this transform to Path path, returning a new Path.

transform_path(path) 等于 transform_path_affine(transform_path_non_affine(values)) .

transform_path_non_affine(path)[源代码]

Apply the non-affine part of this transform to Path path, returning a new Path.

transform_path(path) 等于 transform_path_affine(transform_path_non_affine(values)) .

class matplotlib.transforms.AffineDeltaTransform(transform, **kwargs)[源代码]

基类:matplotlib.transforms.Affine2DBase

用于在点对之间变换位移的变换包装器。

此类用于转换成对点之间的位移(“位置增量”)(例如 offset_transform 属于 Collection s) :给定变换 t 这样的话 t = AffineDeltaTransform(t) + offsetAffineDeltaTransform 满足 AffineDeltaTransform(a - b) == AffineDeltaTransform(a) - AffineDeltaTransform(b) .

这是通过强制变换矩阵的偏移分量为零来实现的。

这个类从3.3开始是实验性的,API可能会改变。

参数:
shorthand_nameSTR

表示转换的“名称”的字符串。除了提高 str(transform) 当debug=true时。

__init__(transform, **kwargs)[源代码]
参数:
shorthand_nameSTR

表示转换的“名称”的字符串。除了提高 str(transform) 当debug=true时。

__module__ = 'matplotlib.transforms'
__str__()

返回str(self)。

get_matrix()[源代码]

得到这个变换的仿射部分的矩阵。

class matplotlib.transforms.Bbox(points, **kwargs)[源代码]

基类:matplotlib.transforms.BboxBase

可变边界框。

实例

从已知边界创建

默认构造函数接受边界“点” [[xmin, ymin], [xmax, ymax]] .

>>> Bbox([[1, 1], [3, 7]])
Bbox([[1.0, 1.0], [3.0, 7.0]])

或者,可以从展平点数组创建Bbox,即所谓的“范围” (xmin, ymin, xmax, ymax)

>>> Bbox.from_extents(1, 1, 3, 7)
Bbox([[1.0, 1.0], [3.0, 7.0]])

或者从“边界” (xmin, ymin, width, height) .

>>> Bbox.from_bounds(1, 1, 2, 6)
Bbox([[1.0, 1.0], [3.0, 7.0]])

从点集合创建

用于累积bbox的“empty”对象是null bbox,它是空集的替代对象。

>>> Bbox.null()
Bbox([[inf, inf], [-inf, -inf]])

将点添加到空bbox将得到这些点的bbox。

>>> box = Bbox.null()
>>> box.update_from_data_xy([[1, 1]])
>>> box
Bbox([[1.0, 1.0], [1.0, 1.0]])
>>> box.update_from_data_xy([[2, 3], [3, 2]], ignore=False)
>>> box
Bbox([[1.0, 1.0], [3.0, 3.0]])

设置 ignore=True 相当于从空bbox重新开始。

>>> box.update_from_data_xy([[1, 1]], ignore=True)
>>> box
Bbox([[1.0, 1.0], [1.0, 1.0]])

警告

建议始终指定 ignore 明确地。如果不是,则默认值为 ignore 可以通过访问Bbox的代码随时更改,例如使用 ignore .

Properties of the ``null`` bbox

注解

当前的行为 Bbox.null() 这可能令人惊讶,因为它不具备“空集”的所有属性,因此在数学意义上也不像“零”对象。我们可能会在将来改变这一点(有一个折旧期)。

空bbox是交叉点的标识

>>> Bbox.intersection(Bbox([[1, 1], [3, 7]]), Bbox.null())
Bbox([[1.0, 1.0], [3.0, 7.0]])

除了它本身,它返回完整的空间。

>>> Bbox.intersection(Bbox.null(), Bbox.null())
Bbox([[-inf, -inf], [inf, inf]])

包含null的并集将始终返回完整的空间(而不是另一个集!)

>>> Bbox.union([Bbox([[0, 0], [0, 0]]), Bbox.null()])
Bbox([[-inf, -inf], [inf, inf]])
参数:
points恩达雷

窗体的2x2 numpy数组 [[x0, y0], [x1, y1]] .

__format__(fmt)[源代码]

默认对象格式化程序。

__init__(points, **kwargs)[源代码]
参数:
points恩达雷

窗体的2x2 numpy数组 [[x0, y0], [x1, y1]] .

__module__ = 'matplotlib.transforms'
__repr__()[源代码]

返回repr(self)。

__str__()[源代码]

返回str(self)。

property bounds

返回 (x0y0widthheight

static from_bounds(x0, y0, width, height)[源代码]

创建新的 Bboxx0y0宽度高度 .

宽度高度 可能是否定的。

static from_extents(*args)[源代码]

从创建新的Bbox left底部正确的top .

这个 y -轴向上增加。

get_points()[源代码]

直接获取边界框的点作为表单的numpy数组: [[x0, y0], [x1, y1]] .

ignore(value)[源代码]

设置后续调用是否应忽略框的现有边界 update_from_data_xy() .

价值布尔
property intervalx

一对 x 定义边界框的坐标。

不能保证从左到右排序。

property intervaly

一对 y 定义边界框的坐标。

不能保证从下到上进行排序。

property minpos
property minposx
property minposy
mutated()[源代码]

返回自初始化以来bbox是否已更改。

mutatedx()[源代码]

返回自初始化以来X限制是否已更改。

mutatedy()[源代码]

返回自初始化后Y限制是否已更改。

static null()[源代码]

创建新的null Bbox 从(inf,inf)到(-inf,-inf)。

property p0

第一对( xy )定义边界框的坐标。

这不保证是左下角(为此,使用 min

property p1

第二对( xy )定义边界框的坐标。

不能保证这是右上角(为此,使用 max

set(other)[源代码]

从另一个“冻结”边界设置此边界框 Bbox .

set_points(points)[源代码]

直接从窗体的numpy数组设置边界框的点: [[x0, y0], [x1, y1]] . 不执行错误检查,因为此方法主要用于内部。

static unit()[源代码]

创建新单元 Bbox 从(0,0)到(1,1)。

update_from_data_xy(xy, ignore=None, updatex=True, updatey=True)[源代码]

更新 Bbox 基于传入的数据。更新后,边界将为正 宽度高度x0y0 将是最小值。

参数:
xy恩达雷

二维点的 numpy 数组。

ignore可选的布尔
  • 什么时候? True ,忽略 Bbox .
  • 什么时候? False ,包括 Bbox .
  • 什么时候? None ,使用传递给的最后一个值 ignore() .
更新x,更新ybool,默认值:True

什么时候? True ,更新x/y值。

update_from_path(path, ignore=None, updatex=True, updatey=True)[源代码]

更新 Bbox 包含所提供路径的顶点。更新后,边界将为正 宽度高度x0y0 将是最小值。

参数:
pathPath路径
ignore可选的布尔
  • 什么时候? True ,忽略 Bbox .
  • 什么时候? False ,包括 Bbox .
  • 什么时候? None ,使用传递给的最后一个值 ignore() .
更新x,更新ybool,默认值:True

什么时候? True ,更新x/y值。

property x0

一对中的第一个 x 定义边界框的坐标。

不能保证低于 x1 (为此,使用 xmin

property x1

一对中的第二个 x 定义边界框的坐标。

不能保证大于 x0 (为此,使用 xmax

property y0

一对中的第一个 y 定义边界框的坐标。

不能保证低于 y1 (为此,使用 ymin

property y1

一对中的第二个 y 定义边界框的坐标。

不能保证大于 y0 (为此,使用 ymax

class matplotlib.transforms.BboxBase(shorthand_name=None)[源代码]

基类:matplotlib.transforms.TransformNode

所有边界框的基类。

这个类是不变的; Bbox 是一个可变的子类。

规范化表示是两点,对它们的排序没有限制。提供了方便的属性来获取左、下、右和上边缘以及宽度和高度,但这些属性没有显式存储。

参数:
shorthand_nameSTR

表示转换的“名称”的字符串。除了提高 str(transform) 当debug=true时。

__array__(*args, **kwargs)[源代码]
__module__ = 'matplotlib.transforms'
anchored(c, container=None)[源代码]

返回的副本 Bbox 移动到位置 c 在内部 容器 .

参数:
c(float,float)或str

也可以是:

  • 序列(一个序列) cxcy 何处 cxcy 范围从0到1,其中0是左或下,1是右或上
  • 一个字符串:—“C”表示居中,—“S”表示下居中,—“SE”表示左下角,—“E”表示左下角,等等。
容器Bbox 可选Bbox,可选

盒子里的 Bbox 定位;默认为初始 Bbox .

property bounds

返回 (x0y0widthheight

coefs = {'C': (0.5, 0.5), 'E': (1.0, 0.5), 'N': (0.5, 1.0), 'NE': (1.0, 1.0), 'NW': (0, 1.0), 'S': (0.5, 0), 'SE': (1.0, 0), 'SW': (0, 0), 'W': (0, 0.5)}
contains(x, y)[源代码]

返回是否 (x, y) 在边界框中或其边缘上。

containsx(x)[源代码]

返回是否 x 在关闭状态 (x0x1 )间隔。

containsy(y)[源代码]

返回是否 y 在关闭状态 (y0y1 )间隔。

corners()[源代码]

将此矩形的角点作为点数组返回。

具体地说,这将返回数组 [[x0, y0], [x0, y1], [x1, y0], [x1, y1]] .

count_contains(vertices)[源代码]

计算包含在 Bbox . 任何具有非有限x或y值的顶点都将被忽略。

参数:
verticesnx2 numpy数组。
count_overlaps(bboxes)[源代码]

计算重叠此边界框的数量。

参数:
盒子 顺序: BboxBase顺序
expanded(sw, sh)[源代码]

构建一个 Bbox 通过把它的中心展开 swsh .

property extents

返回 (x0y0x1y1

frozen()[源代码]

任何参与转换树并需要使其父级无效或被无效的对象的基类。这包括不是真正变换的类,例如边界框,因为有些变换依赖于边界框来计算它们的值。

fully_contains(x, y)[源代码]

返回是否 x, y 在边界框中,但不在其边缘。

fully_containsx(x)[源代码]

返回是否 x 在公开中 (x0x1 )间隔。

fully_containsy(y)[源代码]

返回是否 y 在公开中 (y0y1 )间隔。

fully_overlaps(other)[源代码]

返回此边界框是否与其他边界框重叠(不包括边)。

参数:
其他BboxBaseBboxBase
get_points()[源代码]
property height

边界框的(有符号的)高度。

static intersection(bbox1, bbox2)[源代码]

返回 BBOX1BBOX2 如果它们相交,或者没有相交就没有。

property intervalx

一对 x 定义边界框的坐标。

不能保证从左到右排序。

property intervaly

一对 y 定义边界框的坐标。

不能保证从下到上进行排序。

inverse_transformed(transform)[源代码]

[Deprecated] 构建一个 Bbox 通过静态变换这个 转型 .

笔记

3.3 版后已移除.

is_affine = True
is_bbox = True
is_unit()[源代码]

[Deprecated] 返回是否为单位框(从(0,0)到(1,1))。

笔记

3.2 版后已移除.

property max

边界框的右上角。

property min

边界框的左下角。

overlaps(other)[源代码]

返回此边界框是否与其他边界框重叠。

参数:
其他BboxBaseBboxBase
property p0

第一对( xy )定义边界框的坐标。

这不保证是左下角(为此,使用 min

property p1

第二对( xy )定义边界框的坐标。

不能保证这是右上角(为此,使用 max

padded(p)[源代码]

构建一个 Bbox 通过在四个侧面填充这个 p .

rotated(radians)[源代码]

返回轴对齐的边界框,该边界框限制旋转此对象的结果 Bbox 从一个角度 弧度 .

shrunk(mx, my)[源代码]

返回的副本 Bbox ,按系数缩小 mxx 方向和因素 myy 方向。框的左下角保持不变。正常地 mxmy 将小于1,但不会强制执行。

shrunk_to_aspect(box_aspect, container=None, fig_aspect=1.0)[源代码]

返回的副本 Bbox 收缩,使其尽可能大,同时具有所需的纵横比, box_aspect . 如果方框坐标是相对的(即较大方框的分数,如图形),则该图形的物理纵横比用 fig_aspect ,这样 box_aspect 也可以以绝对尺寸的比率给出,而不是相对尺寸。

property size

边界框的(有符号的)宽度和高度。

splitx(*args)[源代码]

返回新的列表 Bbox 用垂直线在分数位置拆分原始对象所形成的对象 args .

splity(*args)[源代码]

返回新的列表 Bbox 用水平线在分数位置拆分原始对象所形成的对象 args .

transformed(transform)[源代码]

构建一个 Bbox 通过静态变换这个 转型 .

translated(tx, ty)[源代码]

构建一个 Bbox 把这个翻译成 txty .

static union(bboxes)[源代码]

返回A Bbox 包含所有给定的 盒子 .

property width

边界框的(有符号的)宽度。

property x0

一对中的第一个 x 定义边界框的坐标。

不能保证低于 x1 (为此,使用 xmin

property x1

一对中的第二个 x 定义边界框的坐标。

不能保证大于 x0 (为此,使用 xmax

property xmax

边界框的右边缘。

property xmin

边界框的左边缘。

property y0

一对中的第一个 y 定义边界框的坐标。

不能保证低于 y1 (为此,使用 ymin

property y1

一对中的第二个 y 定义边界框的坐标。

不能保证大于 y0 (为此,使用 ymax

property ymax

边界框的上边缘。

property ymin

边界框的底边。

class matplotlib.transforms.BboxTransform(boxin, boxout, **kwargs)[源代码]

基类:matplotlib.transforms.Affine2DBase

BboxTransform 线性变换点 Bbox 到另一个。

创建新的 BboxTransform 线性变换点 博信箱出 .

__init__(boxin, boxout, **kwargs)[源代码]

创建新的 BboxTransform 线性变换点 博信箱出 .

__module__ = 'matplotlib.transforms'
__str__()

返回str(self)。

get_matrix()[源代码]

得到这个变换的仿射部分的矩阵。

is_separable = True
class matplotlib.transforms.BboxTransformFrom(boxin, **kwargs)[源代码]

基类:matplotlib.transforms.Affine2DBase

BboxTransformFrom 从给定的线性变换点 Bbox 到单元边界框。

参数:
shorthand_nameSTR

表示转换的“名称”的字符串。除了提高 str(transform) 当debug=true时。

__init__(boxin, **kwargs)[源代码]
参数:
shorthand_nameSTR

表示转换的“名称”的字符串。除了提高 str(transform) 当debug=true时。

__module__ = 'matplotlib.transforms'
__str__()

返回str(self)。

get_matrix()[源代码]

得到这个变换的仿射部分的矩阵。

is_separable = True
class matplotlib.transforms.BboxTransformTo(boxout, **kwargs)[源代码]

基类:matplotlib.transforms.Affine2DBase

BboxTransformTo 是将点从单元边界框线性转换为给定值的转换。 Bbox .

创建新的 BboxTransformTo 将点从单元边界框线性转换为 箱出 .

__init__(boxout, **kwargs)[源代码]

创建新的 BboxTransformTo 将点从单元边界框线性转换为 箱出 .

__module__ = 'matplotlib.transforms'
__str__()

返回str(self)。

get_matrix()[源代码]

得到这个变换的仿射部分的矩阵。

is_separable = True
class matplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs)[源代码]

基类:matplotlib.transforms.BboxTransformTo

BboxTransformTo 是将点从单元边界框线性转换为给定值的转换。 Bbox 具有固定的左上角(0,0)。

创建新的 BboxTransformTo 将点从单元边界框线性转换为 箱出 .

__module__ = 'matplotlib.transforms'
get_matrix()[源代码]

得到这个变换的仿射部分的矩阵。

class matplotlib.transforms.BlendedAffine2D(x_transform, y_transform, **kwargs)[源代码]

基类:matplotlib.transforms._BlendedMixin, matplotlib.transforms.Affine2DBase

“混合”转换使用一个转换 x -方向和另一个转换 y -方向。

此版本是对两个子转换都属于类型的情况的优化 Affine2DBase .

使用创建新的“混合”变换 x_transform 转换 x 轴和 y_transform 转换 y 轴。

两个 x_transformy_transform 必须是二维仿射变换。

通常不直接调用此构造函数,而是使用 blended_transform_factory 函数,它可以自动确定要创建哪种混合转换。

__init__(x_transform, y_transform, **kwargs)[源代码]

使用创建新的“混合”变换 x_transform 转换 x 轴和 y_transform 转换 y 轴。

两个 x_transformy_transform 必须是二维仿射变换。

通常不直接调用此构造函数,而是使用 blended_transform_factory 函数,它可以自动确定要创建哪种混合转换。

__module__ = 'matplotlib.transforms'
get_matrix()[源代码]

得到这个变换的仿射部分的矩阵。

is_separable = True
class matplotlib.transforms.BlendedGenericTransform(x_transform, y_transform, **kwargs)[源代码]

基类:matplotlib.transforms._BlendedMixin, matplotlib.transforms.Transform

“混合”转换使用一个转换 x -方向和另一个转换 y -方向。

这个“通用”版本可以处理 x -和 y -方向。

使用创建新的“混合”变换 x_transform 转换 x 轴和 y_transform 转换 y 轴。

通常不直接调用此构造函数,而是使用 blended_transform_factory 函数,它可以自动确定要创建哪种混合转换。

__init__(x_transform, y_transform, **kwargs)[源代码]

使用创建新的“混合”变换 x_transform 转换 x 轴和 y_transform 转换 y 轴。

通常不直接调用此构造函数,而是使用 blended_transform_factory 函数,它可以自动确定要创建哪种混合转换。

__module__ = 'matplotlib.transforms'
contains_branch(other)[源代码]

返回给定的转换是否是此转换的子树。

此例程使用转换相等来标识子树,因此在许多情况下,将使用对象ID。

对于给定转换表示整个转换的情况,返回true。

property depth

返回已链接在一起以形成此转换实例的转换数。

注解

对于复合变换的特殊情况,返回两个变换的最大深度。

frozen()[源代码]

返回此转换节点的冻结副本。冻结的副本在其子级更改时不会更新。用于存储变换的先前已知状态,其中 copy.deepcopy() 可以正常使用。

get_affine()[源代码]

获取此转换的仿射部分。

property has_inverse

布尔(x)->布尔

当参数x为真时返回真,否则返回假。内建的true和false是类bool的唯一两个实例。bool类是int类的子类,不能被子类化。

input_dims = 2
inverted()[源代码]

返回相应的逆变换。

它坚持住了 x == self.inverted().transform(self.transform(x)) .

此方法的返回值应视为临时值。对…的更新 self 不会对其反向副本进行相应的更新。

property is_affine

布尔(x)->布尔

当参数x为真时返回真,否则返回假。内建的true和false是类bool的唯一两个实例。bool类是int类的子类,不能被子类化。

is_separable = True
output_dims = 2
pass_through = True
transform_non_affine(points)[源代码]

仅应用此变换的非仿射部分。

transform(values) 总是等价于 transform_affine(transform_non_affine(values)) .

在非仿射变换中,这通常等价于 transform(values) . 在仿射变换中,这总是一个不运算。

参数:
values数组

输入值为NumPy数组的长度 input_dims 或形状(nx input_dims

返回:
数组

输出值为NumPy数组的长度 input_dims 或形状(nx output_dims ),取决于输入。

class matplotlib.transforms.CompositeAffine2D(a, b, **kwargs)[源代码]

基类:matplotlib.transforms.Affine2DBase

应用变换形成的复合变换 a 然后变换 b .

此版本是一个优化,它处理以下情况: ab 是二维仿射。

Create a new composite transform that is the result of applying Affine2DBase a then Affine2DBase b.

通常不会直接调用此构造函数,而是编写 a + b 相反,它将自动选择要创建的最佳类型的复合变换实例。

__init__(a, b, **kwargs)[源代码]

Create a new composite transform that is the result of applying Affine2DBase a then Affine2DBase b.

通常不会直接调用此构造函数,而是编写 a + b 相反,它将自动选择要创建的最佳类型的复合变换实例。

__module__ = 'matplotlib.transforms'
__str__()

返回str(self)。

property depth

返回已链接在一起以形成此转换实例的转换数。

注解

对于复合变换的特殊情况,返回两个变换的最大深度。

get_matrix()[源代码]

得到这个变换的仿射部分的矩阵。

class matplotlib.transforms.CompositeGenericTransform(a, b, **kwargs)[源代码]

基类:matplotlib.transforms.Transform

应用变换形成的复合变换 a 然后变换 b .

这个“通用”版本可以处理任意两个转换。

创建一个新的复合变换,该变换是应用变换的结果 a 然后变换 b .

通常不会直接调用此构造函数,而是编写 a + b 相反,它将自动选择要创建的最佳类型的复合变换实例。

__eq__(other)[源代码]

返回self==值。

__hash__ = None
__init__(a, b, **kwargs)[源代码]

创建一个新的复合变换,该变换是应用变换的结果 a 然后变换 b .

通常不会直接调用此构造函数,而是编写 a + b 相反,它将自动选择要创建的最佳类型的复合变换实例。

__module__ = 'matplotlib.transforms'
__str__()

返回str(self)。

property depth

返回已链接在一起以形成此转换实例的转换数。

注解

对于复合变换的特殊情况,返回两个变换的最大深度。

frozen()[源代码]

返回此转换节点的冻结副本。冻结的副本在其子级更改时不会更新。用于存储变换的先前已知状态,其中 copy.deepcopy() 可以正常使用。

get_affine()[源代码]

获取此转换的仿射部分。

property has_inverse

布尔(x)->布尔

当参数x为真时返回真,否则返回假。内建的true和false是类bool的唯一两个实例。bool类是int类的子类,不能被子类化。

inverted()[源代码]

返回相应的逆变换。

它坚持住了 x == self.inverted().transform(self.transform(x)) .

此方法的返回值应视为临时值。对…的更新 self 不会对其反向副本进行相应的更新。

property is_affine

布尔(x)->布尔

当参数x为真时返回真,否则返回假。内建的true和false是类bool的唯一两个实例。bool类是int类的子类,不能被子类化。

property is_separable

布尔(x)->布尔

当参数x为真时返回真,否则返回假。内建的true和false是类bool的唯一两个实例。bool类是int类的子类,不能被子类化。

pass_through = True
transform_affine(points)[源代码]

仅对给定的值数组应用此变换的仿射部分。

transform(values) 总是等价于 transform_affine(transform_non_affine(values)) .

在非仿射变换中,这通常是不可操作的。在仿射变换中,这相当于 transform(values) .

参数:
values数组

输入值为NumPy数组的长度 input_dims 或形状(nx input_dims

返回:
数组

输出值为NumPy数组的长度 input_dims 或形状(nx output_dims ),取决于输入。

transform_non_affine(points)[源代码]

仅应用此变换的非仿射部分。

transform(values) 总是等价于 transform_affine(transform_non_affine(values)) .

在非仿射变换中,这通常等价于 transform(values) . 在仿射变换中,这总是一个不运算。

参数:
values数组

输入值为NumPy数组的长度 input_dims 或形状(nx input_dims

返回:
数组

输出值为NumPy数组的长度 input_dims 或形状(nx output_dims ),取决于输入。

transform_path_non_affine(path)[源代码]

Apply the non-affine part of this transform to Path path, returning a new Path.

transform_path(path) 等于 transform_path_affine(transform_path_non_affine(values)) .

class matplotlib.transforms.IdentityTransform(*args, **kwargs)[源代码]

基类:matplotlib.transforms.Affine2DBase

一个特殊的类,它以快速的方式完成一件事,即身份转换。

参数:
shorthand_nameSTR

表示转换的“名称”的字符串。除了提高 str(transform) 当debug=true时。

__module__ = 'matplotlib.transforms'
__str__()

返回str(self)。

frozen()[源代码]

返回此转换节点的冻结副本。冻结的副本在其子级更改时不会更新。用于存储变换的先前已知状态,其中 copy.deepcopy() 可以正常使用。

get_affine()[源代码]

获取此转换的仿射部分。

get_matrix()[源代码]

得到这个变换的仿射部分的矩阵。

inverted()[源代码]

返回相应的逆变换。

它坚持住了 x == self.inverted().transform(self.transform(x)) .

此方法的返回值应视为临时值。对…的更新 self 不会对其反向副本进行相应的更新。

transform(points)[源代码]

将此转换应用于给定的 价值观 .

参数:
values数组

输入值为NumPy数组的长度 input_dims 或形状(nx input_dims

返回:
数组

输出值为NumPy数组的长度 input_dims 或形状(nx output_dims ),取决于输入。

transform_affine(points)[源代码]

仅对给定的值数组应用此变换的仿射部分。

transform(values) 总是等价于 transform_affine(transform_non_affine(values)) .

在非仿射变换中,这通常是不可操作的。在仿射变换中,这相当于 transform(values) .

参数:
values数组

输入值为NumPy数组的长度 input_dims 或形状(nx input_dims

返回:
数组

输出值为NumPy数组的长度 input_dims 或形状(nx output_dims ),取决于输入。

transform_non_affine(points)[源代码]

仅应用此变换的非仿射部分。

transform(values) 总是等价于 transform_affine(transform_non_affine(values)) .

在非仿射变换中,这通常等价于 transform(values) . 在仿射变换中,这总是一个不运算。

参数:
values数组

输入值为NumPy数组的长度 input_dims 或形状(nx input_dims

返回:
数组

输出值为NumPy数组的长度 input_dims 或形状(nx output_dims ),取决于输入。

transform_path(path)[源代码]

Apply the transform to Path path, returning a new Path.

在某些情况下,此转换可能会将曲线插入以直线段开始的路径中。

transform_path_affine(path)[源代码]

Apply the affine part of this transform to Path path, returning a new Path.

transform_path(path) 等于 transform_path_affine(transform_path_non_affine(values)) .

transform_path_non_affine(path)[源代码]

Apply the non-affine part of this transform to Path path, returning a new Path.

transform_path(path) 等于 transform_path_affine(transform_path_non_affine(values)) .

class matplotlib.transforms.LockableBbox(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[源代码]

基类:matplotlib.transforms.BboxBase

A Bbox 其中一些元素可能被锁定在某些值上。

当子边界框更改时,此bbox的边界将相应更新,但锁定的元素除外。

参数:
bboxBbox盒子

要包装的子边界框。

x0浮动或无

X0或无的锁定值保持未锁定。

y0浮动或无

Y0的锁定值,或“无”保持未锁定。

x1浮动或无

x1的锁定值,或无以保持解锁。

y1浮动或无

Y1的锁定值,或无以保持解锁。

__init__(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[源代码]
参数:
bboxBbox盒子

要包装的子边界框。

x0浮动或无

X0或无的锁定值保持未锁定。

y0浮动或无

Y0的锁定值,或“无”保持未锁定。

x1浮动或无

x1的锁定值,或无以保持解锁。

y1浮动或无

Y1的锁定值,或无以保持解锁。

__module__ = 'matplotlib.transforms'
__str__()

返回str(self)。

get_points()[源代码]
property locked_x0

浮动或无:用于锁定的X0的值。

property locked_x1

浮动或无:用于锁定x1的值。

property locked_y0

浮动或无:用于锁定Y0的值。

property locked_y1

浮动或无:用于锁定的y1的值。

class matplotlib.transforms.ScaledTranslation(xt, yt, scale_trans, **kwargs)[源代码]

基类:matplotlib.transforms.Affine2DBase

转化为 xtyt 之后 xtyt 改变了 scale_trans .

参数:
shorthand_nameSTR

表示转换的“名称”的字符串。除了提高 str(transform) 当debug=true时。

__init__(xt, yt, scale_trans, **kwargs)[源代码]
参数:
shorthand_nameSTR

表示转换的“名称”的字符串。除了提高 str(transform) 当debug=true时。

__module__ = 'matplotlib.transforms'
__str__()

返回str(self)。

get_matrix()[源代码]

得到这个变换的仿射部分的矩阵。

class matplotlib.transforms.Transform(shorthand_name=None)[源代码]

基类:matplotlib.transforms.TransformNode

所有人的基本阶级 TransformNode 实际执行转换的实例。

所有非仿射转换都应该是这个类的子类。新的仿射变换应该是 Affine2D .

此类的子类应重写以下成员(至少):

如果默认值不合适,可以重写以下属性:

如果转换需要对 matplotlib.path.Path 对象,例如在曾经有线段的地方添加曲线,它应该覆盖:

参数:
shorthand_nameSTR

表示转换的“名称”的字符串。除了提高 str(transform) 当debug=true时。

__add__(other)[源代码]

将两个变换组合在一起 self 其次是 其他 .

A + B 返回变换 C 以便 C.transform(x) == B.transform(A.transform(x)) .

__array__(*args, **kwargs)[源代码]

数组接口以获取此变换的仿射矩阵。

classmethod __init_subclass__()[源代码]

当类是子类时调用此方法。

默认实现什么也不做。它可以被重写以扩展子类。

__module__ = 'matplotlib.transforms'
__sub__(other)[源代码]

撰写 self 与之相反的 其他 ,取消相同的条款(如果有):

# In general:
A - B == A + B.inverted()
# (but see note regarding frozen transforms below).

# If A "ends with" B (i.e. A == A' + B for some A') we can cancel
# out B:
(A' + B) - B == A'

# Likewise, if B "starts with" A (B = A + B'), we can cancel out A:
A - (A + B') == B'.inverted() == B'^-1

取消(而不是天真地返回 A + B.inverted() )其重要性有多种原因:

  • 在计算B的逆时,它避免了浮点误差: B - B 保证完全抵消(导致身份转换),而 B + B.inverted() 可能会有一个小的epsilon。
  • B.inverted() 始终返回冻结的转换:如果计算 A + B + B.inverted() 后来变异了 B 然后 B.inverted() 不会更新,最后两个学期也不会取消;另一方面, A + B - B 永远等于 A 即使 B 是变异的。
contains_branch(other)[源代码]

返回给定的转换是否是此转换的子树。

此例程使用转换相等来标识子树,因此在许多情况下,将使用对象ID。

对于给定转换表示整个转换的情况,返回true。

contains_branch_seperately(other_transform)[源代码]

返回给定分支是否是每个独立维度上此转换的子树。

此方法的一个常见用途是标识转换是否是包含轴数据转换的混合转换。例如。::

x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
property depth

返回已链接在一起以形成此转换实例的转换数。

注解

对于复合变换的特殊情况,返回两个变换的最大深度。

get_affine()[源代码]

获取此转换的仿射部分。

get_matrix()[源代码]

得到这个变换的仿射部分的矩阵。

has_inverse = False

如果此转换具有相应的逆转换,则为true。

input_dims = None

此转换的输入维度数。必须在子类中被重写(用整数)。

inverted()[源代码]

返回相应的逆变换。

它坚持住了 x == self.inverted().transform(self.transform(x)) .

此方法的返回值应视为临时值。对…的更新 self 不会对其反向副本进行相应的更新。

is_separable = False

如果此转换在X和Y维度中是可分离的,则为真。

output_dims = None

此转换的输出维度数。必须在子类中被重写(用整数)。

transform(values)[源代码]

将此转换应用于给定的 价值观 .

参数:
values数组

输入值为NumPy数组的长度 input_dims 或形状(nx input_dims

返回:
数组

输出值为NumPy数组的长度 input_dims 或形状(nx output_dims ),取决于输入。

transform_affine(values)[源代码]

仅对给定的值数组应用此变换的仿射部分。

transform(values) 总是等价于 transform_affine(transform_non_affine(values)) .

在非仿射变换中,这通常是不可操作的。在仿射变换中,这相当于 transform(values) .

参数:
values数组

输入值为NumPy数组的长度 input_dims 或形状(nx input_dims

返回:
数组

输出值为NumPy数组的长度 input_dims 或形状(nx output_dims ),取决于输入。

transform_angles(angles, pts, radians=False, pushoff=1e-05)[源代码]

变换固定在特定位置的一组角度。

参数:
angles(N,)类数组

要变换的角度。

pts(n,2)类似阵列

角度锚定的点。

radiansbool,默认值:False

是否 是弧度或度。

pushoff浮动

对于每个点 pts 和角度 ,通过变换一段长度来计算变换后的角度 推送 从该点开始,使该角度相对于水平轴,然后测量水平轴与转换段之间的角度。

返回:
(N,)数组
transform_bbox(bbox)[源代码]

转换给定的边界框。

有关包括缓存在内的更智能的转换(Matplotlib中的一个常见要求),请参见 TransformedBbox .

transform_non_affine(values)[源代码]

仅应用此变换的非仿射部分。

transform(values) 总是等价于 transform_affine(transform_non_affine(values)) .

在非仿射变换中,这通常等价于 transform(values) . 在仿射变换中,这总是一个不运算。

参数:
values数组

输入值为NumPy数组的长度 input_dims 或形状(nx input_dims

返回:
数组

输出值为NumPy数组的长度 input_dims 或形状(nx output_dims ),取决于输入。

transform_path(path)[源代码]

Apply the transform to Path path, returning a new Path.

在某些情况下,此转换可能会将曲线插入以直线段开始的路径中。

transform_path_affine(path)[源代码]

Apply the affine part of this transform to Path path, returning a new Path.

transform_path(path) 等于 transform_path_affine(transform_path_non_affine(values)) .

transform_path_non_affine(path)[源代码]

Apply the non-affine part of this transform to Path path, returning a new Path.

transform_path(path) 等于 transform_path_affine(transform_path_non_affine(values)) .

transform_point(point)[源代码]

返回变换后的点。

此函数仅用于向后兼容;更通用的 transform 方法能够同时转换点列表和单个点。

该点按长度顺序给出。 input_dims . 转换后的点作为长度序列返回 output_dims .

class matplotlib.transforms.TransformNode(shorthand_name=None)[源代码]

基类:object

任何参与转换树并需要使其父级无效或被无效的对象的基类。这包括不是真正变换的类,例如边界框,因为有些变换依赖于边界框来计算它们的值。

参数:
shorthand_nameSTR

表示转换的“名称”的字符串。除了提高 str(transform) 当debug=true时。

INVALID = 3
INVALID_AFFINE = 2
INVALID_NON_AFFINE = 1
__copy__(*args)[源代码]
__deepcopy__(*args)
__dict__ = mappingproxy({'__module__': 'matplotlib.transforms', '__doc__': '\n The base class for anything that participates in the transform tree\n and needs to invalidate its parents or be invalidated. This includes\n classes that are not really transforms, such as bounding boxes, since some\n transforms depend on bounding boxes to compute their values.\n ', '_gid': 0, 'INVALID_NON_AFFINE': 1, 'INVALID_AFFINE': 2, 'INVALID': 3, 'is_affine': False, 'is_bbox': False, 'pass_through': False, '__init__': <function TransformNode.__init__>, '__getstate__': <function TransformNode.__getstate__>, '__setstate__': <function TransformNode.__setstate__>, '__copy__': <function TransformNode.__copy__>, '__deepcopy__': <function TransformNode.__copy__>, 'invalidate': <function TransformNode.invalidate>, '_invalidate_internal': <function TransformNode._invalidate_internal>, 'set_children': <function TransformNode.set_children>, 'frozen': <function TransformNode.frozen>, '__dict__': <attribute '__dict__' of 'TransformNode' objects>, '__weakref__': <attribute '__weakref__' of 'TransformNode' objects>, '__annotations__': {}})
__getstate__()[源代码]
__init__(shorthand_name=None)[源代码]
参数:
shorthand_nameSTR

表示转换的“名称”的字符串。除了提高 str(transform) 当debug=true时。

__module__ = 'matplotlib.transforms'
__setstate__(data_dict)[源代码]
__weakref__

对象的弱引用列表(如果已定义)

frozen()[源代码]

返回此转换节点的冻结副本。冻结的副本在其子级更改时不会更新。用于存储变换的先前已知状态,其中 copy.deepcopy() 可以正常使用。

invalidate()[源代码]

使此无效 TransformNode 并引发其祖先的伤残。应在转换更改时调用。

is_affine = False
is_bbox = False
pass_through = False

如果“通过”为真,则所有祖先都将始终无效,即使“自我”已经无效。

set_children(*children)[源代码]

设置转换的子级,让无效系统知道哪些转换可以使该转换无效。应该从依赖于其他转换的任何转换的构造函数调用。

class matplotlib.transforms.TransformWrapper(child)[源代码]

基类:matplotlib.transforms.Transform

一个包含单个子转换并与之等效的助手类。

如果在运行时必须将转换树的节点替换为其他类型的转换,则此功能非常有用。此类允许该替换正确触发无效。

TransformWrapper 实例在其整个生命周期内必须具有相同的输入和输出维度,因此子转换只能替换为具有相同维度的另一个子转换。

小孩 答: Transform 实例。这个孩子以后可能会被 set() .

__eq__(other)[源代码]

返回self==值。

__hash__ = None
__init__(child)[源代码]

小孩 答: Transform 实例。这个孩子以后可能会被 set() .

__module__ = 'matplotlib.transforms'
__str__()

返回str(self)。

frozen()[源代码]

返回此转换节点的冻结副本。冻结的副本在其子级更改时不会更新。用于存储变换的先前已知状态,其中 copy.deepcopy() 可以正常使用。

property has_inverse

布尔(x)->布尔

当参数x为真时返回真,否则返回假。内建的true和false是类bool的唯一两个实例。bool类是int类的子类,不能被子类化。

property is_affine

布尔(x)->布尔

当参数x为真时返回真,否则返回假。内建的true和false是类bool的唯一两个实例。bool类是int类的子类,不能被子类化。

property is_separable

布尔(x)->布尔

当参数x为真时返回真,否则返回假。内建的true和false是类bool的唯一两个实例。bool类是int类的子类,不能被子类化。

pass_through = True
set(child)[源代码]

将此转换的当前子级替换为另一个子级。

新子级必须与当前子级具有相同数量的输入和输出维度。

class matplotlib.transforms.TransformedBbox(bbox, transform, **kwargs)[源代码]

基类:matplotlib.transforms.BboxBase

A Bbox 通过给定的转换自动转换。当子边界框或变换更改时,此边界框的边界将相应更新。

参数:
bboxBbox盒子
转型Transform变换
__init__(bbox, transform, **kwargs)[源代码]
参数:
bboxBbox盒子
转型Transform变换
__module__ = 'matplotlib.transforms'
__str__()

返回str(self)。

get_points()[源代码]
class matplotlib.transforms.TransformedPatchPath(patch)[源代码]

基类:matplotlib.transforms.TransformedPath

A TransformedPatchPath 缓存的非仿射转换副本 Patch . 当转换的非仿射部分或修补程序更改时,此缓存副本将自动更新。

参数:
补丁Patch补丁
__init__(patch)[源代码]
参数:
补丁Patch补丁
__module__ = 'matplotlib.transforms'
class matplotlib.transforms.TransformedPath(path, transform)[源代码]

基类:matplotlib.transforms.TransformNode

A TransformedPath 缓存的非仿射转换副本 Path . 当转换的非仿射部分更改时,此缓存副本将自动更新。

注解

此类认为路径是不可变的。对路径顶点/代码的任何更新都不会触发转换重新计算。

参数:
pathPath路径
转型Transform变换
__init__(path, transform)[源代码]
参数:
pathPath路径
转型Transform变换
__module__ = 'matplotlib.transforms'
get_affine()[源代码]
get_fully_transformed_path()[源代码]

返回子路径的完全转换副本。

get_transformed_path_and_affine()[源代码]

返回子路径的副本,其中已应用转换的非仿射部分,以及完成转换所需的路径的仿射部分。

get_transformed_points_and_affine()[源代码]

返回子路径的副本,其中已应用转换的非仿射部分,以及完成转换所需的路径的仿射部分。不像 get_transformed_path_and_affine() ,不执行插值。

matplotlib.transforms.blended_transform_factory(x_transform, y_transform)[源代码]

使用创建新的“混合”变换 x_transform 转换 x 轴和 y_transform 转换 y 轴。

对于两个子转换都是仿射的情况,将返回混合转换的更快版本。

matplotlib.transforms.composite_transform_factory(a, b)[源代码]

创建一个新的复合变换,这是应用变换A的结果,然后是变换B。

对于两个子变换都是仿射变换或其中一个子变换是标识变换的情况,将提供混合变换的快捷版本。

也可以使用“+”运算符创建复合转换,例如:

c = a + b
matplotlib.transforms.interval_contains(interval, val)[源代码]

检查间隔是否包括给定值。

参数:
interval(浮标,浮标)

间隔的端点。

val浮动

要检查的值在间隔内。

返回:
布尔

是否 val间隔 .

matplotlib.transforms.interval_contains_open(interval, val)[源代码]

检查(不包括端点)间隔是否包含给定值。

参数:
interval(浮标,浮标)

间隔的端点。

val浮动

要检查的值在间隔内。

返回:
布尔

是否 val间隔 .

matplotlib.transforms.nonsingular(vmin, vmax, expander=0.001, tiny=1e-15, increasing=True)[源代码]

根据需要修改范围的端点以避免奇点。

参数:
VMN,Vmax浮动

初始端点。

expander浮动,默认值:0.001

分数 vminvmax 如果原始间隔太小,则根据 tiny .

tiny浮动,默认值:1e-15

间隔与其端点的最大绝对值之比的阈值。如果间隔小于此值,它将被扩展。该值应在1e-15或更大范围内;否则间隔将接近双精度分辨率限制。

increasingbool,默认值:True

如果为真,则交换 vminvmax 如果 vmin > vmax .

返回:
VMN,Vmax浮动

端点,必要时展开和/或交换。如果输入是inf或nan,或者两个输入都是0或非常接近于零,则返回- 扩展器扩展器 .

matplotlib.transforms.offset_copy(trans, fig=None, x=0.0, y=0.0, units='inches')[源代码]

返回带有附加偏移量的新变换。

参数:
反式Transform 子类变换子类

将应用偏移的任何变换。

figFigure ,默认值:无图,默认值:无

当前数字。如果 单位 是“点”。

x, y浮动,默认值:0.0

要应用的偏移量。

units{'inches','points','dots},默认值:'inches'

偏移的单位。

返回:
Transform 子类

使用应用的偏移进行转换。