Spec-Zone.ru › Matplotlib 3.7

matplotlib.transforms

Inheritance diagram of matplotlib.transforms

В Matplotlib реализован механизм произвольных геометрических преобразований, который используется для определения конечного положения всех элементов, нарисованных на холсте.

Преобразования составляют дерево объектов TransformNode, чьё фактическое значение зависит от их дочерних элементов. При изменении содержимого дочерних элементов их родительские элементы автоматически аннулируются. При следующем обращении к аннулированному преобразованию оно пересчитывается, чтобы отразить эти изменения. Этот подход с аннулированием/кэшированием предотвращает ненужные пересчёты преобразований и способствует улучшению интерактивной производительности.

Например, вот граф дерева преобразований, используемого для отображения данных на графике:

../_images/transforms.png

Механизм можно использовать как для аффинных, так и для неаффинных преобразований. Однако для повышения скорости мы хотим использовать обработчики отрисовки бэкенда для выполнения аффинных преобразований по мере возможности. Поэтому можно выполнить только аффинную или неаффинную часть преобразования на наборе данных. Аффинное преобразование всегда предполагается после неаффинного. Для любого преобразования:

full transform == non-affine part + affine part

Бэкенды не должны обрабатывать неаффинные преобразования самостоятельно.

См. учебное пособие Учебник по преобразованиям для примеров использования преобразований.

classmatplotlib.transforms.Affine2D(matrix=None, **kwargs)[source]

Bases: Affine2DBase

Изменяемая 2D аффинная трансформация.

Инициализировать аффинную трансформацию из 3x3 массива numpy с плавающей точкой:

a c e
b d f
0 0 1

Если matrix равно None, инициализировать с тождественной трансформацией.

__init__(matrix=None, **kwargs)[source]

Инициализировать аффинную трансформацию из 3x3 массива numpy с плавающей точкой:

a c e
b d f
0 0 1

Если matrix равно None, инициализировать с тождественной трансформацией.

__module__='matplotlib.transforms'
__str__()[source]

Возвратить str(self).

clear()[source]

Сбросить базовую матрицу на тождественную трансформацию.

staticfrom_values(a, b, c, d, e, f)[source]

Создать новый экземпляр Affine2D из заданных значений:

a c e
b d f
0 0 1

.

get_matrix()[source]

Получить базовую матрицу преобразования как массив numpy 3x3:

a c e
b d f
0 0 1

.

staticidentity()[source]

[Устарело] Возвращает новый объект Affine2D, который является тождественной трансформацией.

Если эта трансформация не будет изменяться позднее, рассмотрите использование более быстрого класса IdentityTransform вместо этого.

Примечания

Устарело начиная с версии 3.6: Используйте Affine2D() вместо.

rotate(theta)[source]

Добавить поворот (в радианах) в эту трансформацию на месте.

Возвращает self, поэтому этот метод легко можно объединить с другими вызовами rotate(), rotate_deg(), translate() и scale().

rotate_around(x, y, theta)[source]

Добавить поворот (в радианах) вокруг точки (x, y) на месте.

Возвращает self, поэтому этот метод легко можно объединить с другими вызовами rotate(), rotate_deg(), translate() и scale().

rotate_deg(degrees)[source]

Добавить поворот (в градусах) в эту трансформацию на месте.

Возвращает self, поэтому этот метод легко можно объединить с другими вызовами rotate(), rotate_deg(), translate() и scale().

rotate_deg_around(x, y, degrees)[source]

Добавить поворот (в градусах) вокруг точки (x, y) на месте.

Возвращает self, поэтому этот метод легко можно объединить с другими вызовами rotate(), rotate_deg(), translate() и scale().

scale(sx, sy=None)[source]

Добавить масштабирование на месте.

Если sy равно None, одинаковый масштаб применяется по x- и y-направлениям.

Возвращает self, поэтому этот метод легко можно объединить с другими вызовами rotate(), rotate_deg(), translate() и scale().

END_OF_DOCUMENT_MARKER
set(other)[source]

Установите это преобразование из замороженной копии другого объекта Affine2DBase.

set_matrix(mtx)[source]

Установите основную матрицу преобразования из 3x3 массива numpy:

a c e
b d f
0 0 1

.

skew(xShear, yShear)[source]

Добавить сдвиг на месте.

xShear и yShear — углы сдвига вдоль осей x и y соответственно в радианах.

Возвращает self, поэтому этот метод можно легко объединить с дополнительными вызовами rotate(), rotate_deg(), translate() и scale().

skew_deg(xShear, yShear)[source]

Добавить сдвиг на месте.

xShear и yShear — углы сдвига вдоль осей x и y соответственно в градусах.

Возвращает self, поэтому этот метод можно легко объединить с дополнительными вызовами rotate(), rotate_deg(), translate() и scale().

translate(tx, ty)[source]

Добавить сдвиг на месте.

Возвращает self, поэтому этот метод можно легко объединить с дополнительными вызовами rotate(), rotate_deg(), translate() и scale().

классmatplotlib.transforms.Affine2DBase(*args, **kwargs)[source]

Базовый класс всех 2D аффинных преобразований.

2D аффинные преобразования выполняются с использованием 3x3 numpy массива:

a c e
b d f
0 0 1

Этот класс предоставляет только для чтения интерфейс. Для изменяемого 2D аффинного преобразования используйте Affine2D.

Подклассы этого класса, как правило, будут нуждаться только в переопределении конструктора и get_matrix() , который генерирует пользовательскую 3x3 матрицу.

Параметры:
shorthand_namestr

Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме улучшения читабельности str(transform) при DEBUG=True.

__annotations__={}
__module__='matplotlib.transforms'
frozen()[source]

Возвращает замороженную копию этого преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где copy.deepcopy() обычно может быть использован.

has_inverse=True

True, если у этого преобразования есть соответствующее обратное преобразование.

input_dims=2

Количество входных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.

inverted()[source]

Возвращает соответствующее обратное преобразование.

Содержит x == self.inverted().transform(self.transform(x)).

Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его инвертированной копии.

свойствоis_separable

bool(x) -> bool

Возвращает True, если аргумент x истинный, иначе False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.

output_dims=2

Количество выходных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.

to_values()[source]

Возвращает значения матрицы в виде (a, b, c, d, e, f) кортежа.

transform_affine(points)[source]

Применяет только аффинную часть этого преобразования к заданному массиву значений.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

В неаффинных преобразованиях это, как правило, бесполезно. В аффинных преобразованиях это эквивалентно transform(values).

Параметры:
valuesмассив

Входные значения в виде NumPy массива длиной input_dims или формы (N x input_dims).

Возвращает:
массив

Выходные значения в виде NumPy массива длиной output_dims или формы (N x output_dims), в зависимости от ввода.

classmatplotlib.transforms.AffineBase(*args, **kwargs)[source]

Bases: Transform

Базовый класс всех аффинных преобразований любого числа измерений.

Параметры:
shorthand_namestr

Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме как для повышения удобочитаемости str(transform) при DEBUG=True.

__annotations__={}
__array__(*args, **kwargs)[source]

Интерфейс массива для доступа к матрице аффинного преобразования этого объекта.

__eq__(other)[source]

Возвращает self==value.

__hash__=None
__init__(*args, **kwargs)[source]
Параметры:
shorthand_namestr

Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме как для повышения удобочитаемости str(transform) при DEBUG=True.

__module__='matplotlib.transforms'
get_affine()[source]

Получить аффинную часть этого преобразования.

is_affine=True
transform(values)[source]

Применить данное преобразование к заданному массиву values.

Параметры:
valuesмассив

Входные значения в виде массива NumPy длиной input_dims или формы (N x input_dims).

Возвращает:
массив

Выходные значения в виде массива NumPy длиной output_dims или формы (N x output_dims), в зависимости от входных данных.

transform_affine(values)[source]

Применить только аффинную часть данного преобразования к заданному массиву значений.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

В неаффинных преобразованиях это обычно пустая операция. В аффинных преобразованиях это эквивалентно transform(values).

Параметры:
valuesмассив

Входные значения в виде массива NumPy длиной input_dims или формы (N x input_dims).

Возвращает:
массив

Выходные значения в виде массива NumPy длиной output_dims или формы (N x output_dims), в зависимости от входных данных.

transform_non_affine(points)[source]

Применить только неаффинную часть данного преобразования.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

В неаффинных преобразованиях это обычно эквивалентно transform(values). В аффинных преобразованиях это всегда пустая операция.

Параметры:
valuesмассив

Входные значения в виде массива NumPy длиной input_dims или формы (N x input_dims).

Возвращает:
массив

Выходные значения в виде массива NumPy длиной output_dims или формы (N x output_dims), в зависимости от входных данных.

transform_path(path)[source]

Применить преобразование к Path path, возвращая новый Path.

В некоторых случаях это преобразование может вставлять кривые в путь, который изначально представлял собой отрезки прямых.

transform_path_affine(path)[source]

Применить аффинную часть данного преобразования к Path path, возвращая новый Path.

transform_path(path) эквивалентно transform_path_affine(transform_path_non_affine(values)).

transform_path_non_affine(path)[source]

Применить неаффинную часть данного преобразования к Path path, возвращая новый Path.

transform_path(path) эквивалентно transform_path_affine(transform_path_non_affine(values)).

classmatplotlib.transforms.AffineDeltaTransform(transform, **kwargs)[source]

Bases: Affine2DBase

Обёртка преобразования для преобразования смещений между парами точек.

Этот класс предназначен для преобразования смещений ("дельта позиций") между парами точек (например, как offset_transform Collection): задано преобразование t таким образом, что t = AffineDeltaTransform(t) + offset, AffineDeltaTransform удовлетворяет AffineDeltaTransform(a - b) == AffineDeltaTransform(a) - AffineDeltaTransform(b).

Это реализуется принудительным установлением нулевых значений смещений в матрице преобразования.

Этот класс является экспериментальным начиная с версии 3.3, и API может измениться.

Параметры:
shorthand_namestr

Строка, представляющая "имя" преобразования. Имя не несёт никакого значения, кроме улучшения удобочитаемости str(transform) при DEBUG=True.

__annotations__={}
__init__(transform, **kwargs)[source]
Параметры:
shorthand_namestr

Строка, представляющая "имя" преобразования. Имя не несёт никакого значения, кроме улучшения удобочитаемости str(transform) при DEBUG=True.

__module__='matplotlib.transforms'
__str__()[source]

Возвращает str(self).

get_matrix()[source]

Получить матрицу для аффинной части этого преобразования.

classmatplotlib.transforms.Bbox(points, **kwargs)[source]
END_OF_DOCUMENT_MARKER

Bases: BboxBase

Изменяемый прямоугольник.

Примеры

Создание из известных границ

Конструктор по умолчанию принимает "точки" границ [[xmin, ymin], [xmax, ymax]].

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

В качестве альтернативы, прямоугольник можно создать из сглаженного массива точек, так называемых "экстентов" (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.null()
Bbox([[inf, inf], [-inf, -inf]])

Добавление точек к нулевому прямоугольнику даст вам прямоугольник этих точек.

>>> 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 эквивалентно началу работы с нулевым прямоугольником.

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

Предупреждение

Рекомендуется всегда указывать ignore явно. В противном случае значение по умолчанию ignore может быть изменено в любой момент кодом, имеющим доступ к вашему прямоугольнику, например, с помощью метода ignore.

Свойства нулевого прямоугольника

Примечание

Текущее поведение Bbox.null() может быть неожиданным, так как оно не обладает всеми свойствами «пустого множества» и, следовательно, не ведет себя как нулевой объект в математическом смысле. Мы можем изменить это в будущем (с периодом устаревания).

Нулевой прямоугольник — это тождество для пересечений

>>> 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]])

Объединение, содержащее ноль, всегда вернёт всё пространство (а не другое множество!)

>>> Bbox.union([Bbox([[0, 0], [0, 0]]), Bbox.null()])
Bbox([[-inf, -inf], [inf, inf]])
Параметры:
pointsndarray

Двумерный массив NumPy формы [[x0, y0], [x1, y1]].

__annotations__={}
__format__(fmt)[source]

Форматирование объекта по умолчанию.

Возвращает str(self), если format_spec пустое. В противном случае поднимает TypeError.

__init__(points, **kwargs)[source]
Параметры:
pointsndarray

Двумерный массив NumPy формы [[x0, y0], [x1, y1]].

__module__='matplotlib.transforms'
__repr__()[source]

Возвращает repr(self).

__str__()[source]

Возвращает str(self).

propertybounds

Возвращает (x0, y0, width, height).

staticfrom_bounds(x0, y0, width, height)[source]

Создаёт новый прямоугольник Bbox из x0, y0, width и height.

width и height могут быть отрицательными.

staticfrom_extents(*args, minpos=None)[source]

Создаёт новый прямоугольник из left, bottom, right и top.

Ось y возрастает вверх.

Параметры:
left, bottom, right, topfloat

Четыре крайние точки прямоугольника.

minposfloat или None

Если это значение задано, у прямоугольника будет установлено минимальное положительное значение. Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей точкой.

frozen()[source]

Базовый класс для всего, что участвует в дереве преобразований и должно делать недействительными своих родителей или быть сделано недействительным. Это включает классы, которые на самом деле не являются преобразованиями, такие как прямоугольники, так как некоторые преобразования зависят от прямоугольников для вычисления своих значений.

get_points()[source]

Получение точек прямоугольника непосредственно в виде массива NumPy формы: [[x0, y0], [x1, y1]].

ignore(value)[source]

Установить, следует ли игнорировать существующие границы рамки последующими вызовами update_from_data_xy().

valuebool
  • Если True, последующие вызовы update_from_data_xy() проигнорируют существующие границы Bbox.
  • Если False, последующие вызовы update_from_data_xy() будут включать в себя существующие границы Bbox.
propertyintervalx

Пара x-координат, определяющих прямоугольник.

Это не гарантированно отсортировано слева направо.

свойствоintervaly

Пара y-координат, определяющих прямоугольник.

Гарантируется ли сортировка снизу вверх не гарантируется.

свойствоminpos

Минимальное положительное значение в обоих направлениях внутри прямоугольника.

Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей запятой, и будет использоваться в качестве минимального значения вместо p0.

свойствоminposx

Минимальное положительное значение в направлении x внутри прямоугольника.

Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей запятой, и будет использоваться в качестве минимального значения x вместо x0.

свойствоminposy

Минимальное положительное значение в направлении y внутри прямоугольника.

Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей запятой, и будет использоваться в качестве минимального значения y вместо y0.

mutated()[source]

Возвращает, изменился ли прямоугольник с момента инициализации.

mutatedx()[source]

Возвращает, изменились ли пределы по оси x с момента инициализации.

mutatedy()[source]

Возвращает, изменились ли пределы по оси y с момента инициализации.

статическийnull()[source]

Создает новый пустой прямоугольник от (беск., беск.) до (-беск., -беск.).

свойствоp0

Первая пара координат (x, y), определяющих прямоугольник.

Это не гарантированно является левым нижним углом (для этого используйте min).

свойствоp1

Вторая пара координат (x, y), определяющих прямоугольник.

Это не гарантированно является правым верхним углом (для этого используйте max).

set(other)[source]

Установить этот прямоугольник из "замороженных" границ другого прямоугольника.

set_points(points)[source]

Установить точки прямоугольника напрямую из массива NumPy вида: [[x0, y0], [x1, y1]]. Проверка ошибок не выполняется, так как этот метод используется в основном во внутренних целях.

статическийunit()[source]

Создает новый единичный прямоугольник от (0, 0) до (1, 1).

update_from_data_x(x, ignore=None)[source]

Обновить границы прямоугольника по оси x на основе переданных данных. После обновления границы будут иметь положительную ширину, а x0 будет минимальным значением.

Параметры:
xndarray

Массив значений x.

ignorebool, необязательно
  • При True, игнорировать существующие границы прямоугольника.
  • При False, учитывать существующие границы прямоугольника.
  • При None, использовать последнее значение, переданное в ignore().
update_from_data_xy(xy, ignore=None, updatex=True, updatey=True)[source]

Обновить границы прямоугольника на основе переданных данных. После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.

Параметры:
xyndarray

Массив NumPy двумерных точек.

ignorebool, необязательно
  • При True, игнорировать существующие границы прямоугольника.
  • При False, учитывать существующие границы прямоугольника.
  • При None, использовать последнее значение, переданное в ignore().
updatex, updateybool, по умолчанию: True

При True, обновить значения x/y.

update_from_data_y(y, ignore=None)[source]

Обновление границ по оси y для Bbox на основе переданных данных. После обновления границы будут иметь положительную высоту, а y0 будет минимальным значением.

Параметры:
yndarray

Массив значений y.

ignorebool, необязательно
  • Когда True, игнорируются существующие границы Bbox.
  • Когда False, учитываются существующие границы Bbox.
  • Когда None, используется последнее значение, переданное в ignore().
update_from_path(path, ignore=None, updatex=True, updatey=True)[source]

Обновление границ Bbox для охвата вершин переданного контура. После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.

Параметры:
pathPath
ignorebool, необязательно
  • когда True, игнорируются существующие границы Bbox.
  • когда False, учитываются существующие границы Bbox.
  • когда None, используется последнее значение, переданное в ignore().
updatex, updateybool, по умолчанию: True

При True, обновляются значения x/y.

свойствоx0

Первая из пары координат x, определяющих прямоугольник.

Это не гарантируется, что будет меньше x1 (для этого используйте xmin).

свойствоx1

Вторая из пары координат x, определяющих прямоугольник.

Это не гарантируется, что будет больше x0 (для этого используйте xmax).

свойствоy0

Первая из пары координат y, определяющих прямоугольник.

Это не гарантируется, что будет меньше y1 (для этого используйте ymin).

свойствоy1

Вторая из пары координат y, определяющих прямоугольник.

Это не гарантируется, что будет больше y0 (для этого используйте ymax).

классmatplotlib.transforms.BboxBase(shorthand_name=None)[source]

Bases: TransformNode

Базовый класс всех прямоугольных областей.

Этот класс неизменяем; Bbox является изменяемым подклассом.

Каноническое представление — это две точки без ограничений на их порядок. Предоставляются удобные свойства для получения левой, нижней, правой и верхней границ, а также ширины и высоты, но они не хранятся явно.

Параметры:
shorthand_namestr

Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости str(transform) при DEBUG=True.

__annotations__={}
__array__(*args, **kwargs)[source]
__module__='matplotlib.transforms'
anchored(c, container=None)[source]

Возвращает копию Bbox, привязанную к c внутри container.

Параметры:
c(float, float) или {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}

Пара (x, y) относительных координат (0 — слева или снизу, 1 — справа или сверху), 'C' (центр) или направление ('SW' — юго-запад, это нижний левый угол и т.д.).

containerBbox, необязательно

Прямоугольник, внутри которого размещается Bbox; по умолчанию это начальный Bbox.

См. также

Axes.set_anchor
propertybounds

Возвращает (x0, y0, width, height).

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)[source]

Возвращает, содержится ли (x, y) в прямоугольнике или на его границе.

containsx(x)[source]

Возвращает, содержится ли x в замкнутом интервале (x0, x1).

containsy(y)[source]

Возвращает, содержится ли y в замкнутом интервале (y0, y1).

corners()[source]

Возвращает углы этого прямоугольника в виде массива точек.

Точнее, возвращает массив [[x0, y0], [x0, y1], [x1, y0], [x1, y1]].

count_contains(vertices)[source]

Подсчитывает количество вершин, содержащихся в Bbox. Вершины с бесконечными значениями x или y игнорируются.

Параметры:
verticesМассив Numpy Nx2.
count_overlaps(bboxes)[source]

Подсчитывает количество прямоугольников, которые перекрываются с этим.

Параметры:
bboxesПоследовательность BboxBase
expanded(sw, sh)[source]

Создаёт Bbox путём расширения этого вокруг центра на коэффициенты sw и sh.

propertyextents

Возвращает (x0, y0, x1, y1).

frozen()[source]

Базовый класс для всего, что участвует в дереве преобразований и должно аннулировать своих родителей или быть аннулированным. Это включает классы, которые на самом деле не являются преобразованиями, такие как прямоугольные области, поскольку некоторые преобразования зависят от прямоугольных областей для вычисления своих значений.

fully_contains(x, y)[source]

Возвращает, находится ли x, y внутри прямоугольной области, но не на её границе.

fully_containsx(x)[source]

Возвращает, находится ли x в открытом интервале (x0, x1).

fully_containsy(y)[source]

Возвращает, находится ли y в открытом интервале (y0, y1).

fully_overlaps(other)[source]

Возвращает, перекрывается ли эта прямоугольная область с другой прямоугольной областью, не включая грани.

Параметры:
otherBboxBase
get_points()[source]
propertyheight

Высота прямоугольной области (со знаком).

staticintersection(bbox1, bbox2)[source]

Возвращает пересечение bbox1 и bbox2, если они пересекаются, или None, если нет.

propertyintervalx

Пара координат x, определяющих прямоугольную область.

Не гарантируется, что они отсортированы слева направо.

propertyintervaly

Пара координат y, определяющих прямоугольную область.

Не гарантируется, что они отсортированы снизу вверх.

is_affine=True
is_bbox=True
propertymax

Правый верхний угол прямоугольной области.

propertymin

Левый нижний угол прямоугольной области.

overlaps(other)[source]

Возвращает, перекрывается ли эта прямоугольная область с другой прямоугольной областью.

Параметры:
otherBboxBase
propertyp0

Первая пара координат (x, y), определяющих прямоугольную область.

Не гарантируется, что это левый нижний угол (для этого используйте min).

propertyp1

Вторая пара координат (x, y), определяющих прямоугольную область.

Не гарантируется, что это правый верхний угол (для этого используйте max).

padded(p)[source]

Создаёт Bbox путём добавления отступа по всем четырём сторонам этого прямоугольника на p.

rotated(radians)[source]

Возвращает прямоугольную область, выровненную по осям, которая ограничивает результат поворота этой Bbox на угол radians.

shrunk(mx, my)[source]

Возвращает копию Bbox, сжатую на коэффициент mx в направлении x и на коэффициент my в направлении y. Левый нижний угол прямоугольника остаётся неизменным. Обычно mx и my будут меньше 1, но это не является обязательным.

shrunk_to_aspect(box_aspect, container=None, fig_aspect=1.0)[source]

Возвращает копию Bbox, уменьшенную так, чтобы она была максимально большой при заданном соотношении сторон box_aspect. Если координаты прямоугольника относительные (то есть доли от большего прямоугольника, например, фигуры), то физическое соотношение сторон этой фигуры задается с помощью fig_aspect, чтобы box_aspect можно было указать как отношение абсолютных размеров, а не относительных.

propertysize

Ширина и высота (со знаком) ограничивающей рамки.

splitx(*args)[source]

Возвращает список новых объектов Bbox, полученных путем разделения исходного прямоугольника вертикальными линиями в заданных дробных позициях args.

splity(*args)[source]

Возвращает список новых объектов Bbox, полученных путем разделения исходного прямоугольника горизонтальными линиями в заданных дробных позициях args.

transformed(transform)[source]

Создает Bbox путем статического преобразования этого прямоугольника с помощью transform.

translated(tx, ty)[source]

Создает Bbox путем перевода этого прямоугольника на tx и ty.

staticunion(bboxes)[source]

Возвращает Bbox, который содержит все заданные bboxes.

propertywidth

Ширина (со знаком) ограничивающей рамки.

propertyx0

Первая из пары координат x, определяющих ограничивающую рамку.

Не гарантируется, что она будет меньше x1 (для этого используйте xmin).

propertyx1

Вторая из пары координат x, определяющих ограничивающую рамку.

Не гарантируется, что она будет больше x0 (для этого используйте xmax).

propertyxmax

Правый край ограничивающей рамки.

propertyxmin

Левый край ограничивающей рамки.

propertyy0

Первая из пары координат y, определяющих ограничивающую рамку.

Не гарантируется, что она будет меньше y1 (для этого используйте ymin).

propertyy1

Вторая из пары координат y, определяющих ограничивающую рамку.

Не гарантируется, что она будет больше y0 (для этого используйте ymax).

propertyymax

Верхний край ограничивающей рамки.

propertyymin

Нижний край ограничивающей рамки.

classmatplotlib.transforms.BboxTransform(boxin, boxout, **kwargs)[source]

Bases: Affine2DBase

Линейно преобразует точки из одного Bbox в другой.

Создает новый BboxTransform, который линейно преобразует точки из boxin в boxout.

__annotations__={}
__init__(boxin, boxout, **kwargs)[source]

Создает новый BboxTransform, который линейно преобразует точки из boxin в boxout.

__module__='matplotlib.transforms'
__str__()[source]

Возвращает str(self).

get_matrix()[source]

Возвращает матрицу для аффинной части этого преобразования.

is_separable=True

True, если это преобразование разделимо по осям x и y.

classmatplotlib.transforms.BboxTransformFrom(boxin, **kwargs)[source]

Bases: Affine2DBase

Линейно преобразует точки из заданного Bbox в единичный прямоугольник.

Parameters:
shorthand_namestr

Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме улучшения удобочитаемости str(transform) при DEBUG=True.

__annotations__={}
__init__(boxin, **kwargs)[source]
Parameters:
shorthand_namestr

Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме улучшения удобочитаемости str(transform) при DEBUG=True.

__module__='matplotlib.transforms'
__str__()[source]

Возвращает str(self).

get_matrix()[source]

Возвращает матрицу для аффинной части этого преобразования.

is_separable=True

True, если это преобразование разделимо по осям x и y.

classmatplotlib.transforms.BboxTransformTo(boxout, **kwargs)[source]

Bases: Affine2DBase

Преобразование, которое линейно преобразует точки из единичного прямоугольника в заданный прямоугольник Bbox.

Создает новое преобразование BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.

__annotations__={}
__init__(boxout, **kwargs)[source]

Создает новое преобразование BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.

__module__='matplotlib.transforms'
__str__()[source]

Возвращает строковое представление объекта.

get_matrix()[source]

Получить матрицу для аффинной части этого преобразования.

is_separable=True

Истина, если это преобразование разделимо по осям x и y.

classmatplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs)[source]

Bases: BboxTransformTo

Преобразование, которое линейно преобразует точки из единичного прямоугольника в заданный прямоугольник Bbox с фиксированным верхним левым углом (0, 0).

Создает новое преобразование BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.

__annotations__={}
__module__='matplotlib.transforms'
get_matrix()[source]

Получить матрицу для аффинной части этого преобразования.

classmatplotlib.transforms.BlendedAffine2D(x_transform, y_transform, **kwargs)[source]

Bases: _BlendedMixin, Affine2DBase

Преобразование, использующее одно преобразование для оси x и другое для оси y.

Эта версия оптимизирована для случая, когда оба дочерних преобразования являются типа Affine2DBase.

Создает новое смешанное преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.

И x_transform, и y_transform должны быть аффинными преобразованиями 2D.

Как правило, этот конструктор не вызывается напрямую, а используется функция blended_transform_factory, которая автоматически определяет, какой тип смешанного преобразования создать.

__annotations__={}
__init__(x_transform, y_transform, **kwargs)[source]

Создает новое смешанное преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.

И x_transform, и y_transform должны быть аффинными преобразованиями 2D.

Как правило, этот конструктор не вызывается напрямую, а используется функция blended_transform_factory, которая автоматически определяет, какой тип смешанного преобразования создать.

__module__='matplotlib.transforms'
get_matrix()[source]

Получить матрицу для аффинной части этого преобразования.

is_separable=True

Истина, если это преобразование разделимо по осям x и y.

classmatplotlib.transforms.BlendedGenericTransform(x_transform, y_transform, **kwargs)[source]

Bases: _BlendedMixin, Transform

Преобразующий объект "смешанного" типа использует одно преобразование для оси x и другое для оси y.

Этот "обобщённый" вариант может обрабатывать любой заданный дочерний преобразователь по осям x и y.

Создаёт новый преобразователь "смешанного" типа, используя x_transform для преобразования оси x и y_transform для преобразования оси y.

Обычно этот конструктор не вызывается напрямую, а используется функция blended_transform_factory, которая автоматически определяет, какой тип смешанного преобразователя необходимо создать.

__annotations__={}
__init__(x_transform, y_transform, **kwargs)[source]

Создаёт новый преобразователь "смешанного" типа, используя x_transform для преобразования оси x и y_transform для преобразования оси y.

Обычно этот конструктор не вызывается напрямую, а используется функция blended_transform_factory, которая автоматически определяет, какой тип смешанного преобразователя необходимо создать.

__module__='matplotlib.transforms'
contains_branch(other)[source]

Определяет, является ли заданное преобразование поддеревом этого преобразования.

Эта процедура использует равенство преобразований для определения поддеревьев, поэтому во многих ситуациях используется идентификатор объекта.

В случае, когда заданное преобразование представляет собой всё это преобразование, возвращает True.

propertydepth

Возвращает количество преобразований, которые были объединены для создания этого экземпляра преобразования.

Примечание

В случае с преобразованием Composite возвращается максимальная глубина из двух.

frozen()[source]

Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где copy.deepcopy() может обычно использоваться.

get_affine()[source]

Получить аффинную часть этого преобразования.

propertyhas_inverse

bool(x) -> bool

Возвращает True, если аргумент x имеет значение True, иначе False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассом.

input_dims=2

Число входных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.

inverted()[source]

Возвращает соответствующее обратное преобразование.

Он содержит x == self.inverted().transform(self.transform(x)).

Возвращаемое значение этого метода должно рассматриваться как временное. Обновление self не вызывает соответствующего обновления его инвертированной копии.

propertyis_affine

bool(x) -> bool

Возвращает True, если аргумент x имеет значение True, иначе False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассом.

is_separable=True

True, если это преобразование разделяемо по осям x и y.

output_dims=2

Число выходных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.

pass_through=True

Если pass_through равно True, все предки всегда будут признаны недействительными, даже если 'self' уже недействителен.

transform_non_affine(points)[source]

Применить только неаффинную часть этого преобразования.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

В неаффинных преобразованиях это обычно эквивалентно transform(values). В аффинных преобразованиях это всегда пустая операция.

Параметры:
значениямассив

Входные значения как массив NumPy длины input_dims или формы (N x input_dims).

Возвращает:
массив

Выходные значения как массив NumPy длины output_dims или формы (N x output_dims), в зависимости от входа.

END_OF_DOCUMENT_MARKER
classmatplotlib.transforms.CompositeAffine2D(a, b, **kwargs)[source]

Bases: Affine2DBase

Составной преобразователь, образованный применением преобразования a, а затем преобразования b.

Этот вариант является оптимизацией, которая обрабатывает случай, когда и a, и b являются 2D аффинами.

Создаёт новый составной преобразователь, являющийся результатом применения Affine2DBase a, а затем Affine2DBase b.

Обычно вы не будете вызывать этот конструктор напрямую, а напишете a + b, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.

__annotations__={}
__init__(a, b, **kwargs)[source]

Создаёт новый составной преобразователь, являющийся результатом применения Affine2DBase a, а затем Affine2DBase b.

Обычно вы не будете вызывать этот конструктор напрямую, а напишете a + b, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.

__module__='matplotlib.transforms'
__str__()[source]

Возвращает str(self).

propertydepth

Возвращает количество преобразований, которые были объединены для формирования этого экземпляра преобразования.

Примечание

В случае с составным преобразованием возвращается максимальная глубина из двух.

get_matrix()[source]

Получает матрицу для аффинной части этого преобразования.

classmatplotlib.transforms.CompositeGenericTransform(a, b, **kwargs)[source]

Bases: Transform

Составной преобразователь, образованный применением преобразования a, а затем преобразования b.

Этот «обобщённый» вариант может обрабатывать любые два произвольных преобразования.

Создаёт новый составной преобразователь, являющийся результатом применения преобразования a, а затем преобразования b.

Обычно вы не будете вызывать этот конструктор напрямую, но напишете a + b вместо этого, который автоматически выберет лучший тип экземпляра составного преобразования для создания.

__annotations__={}
__eq__(other)[source]

Возвращает self==value.

__hash__=None
__init__(a, b, **kwargs)[source]

Создаёт новый составной преобразователь, являющийся результатом применения преобразования a, а затем преобразования b.

Обычно вы не будете вызывать этот конструктор напрямую, но напишете a + b вместо этого, который автоматически выберет лучший тип экземпляра составного преобразования для создания.

__module__='matplotlib.transforms'
__str__()[source]

Возвращает str(self).

propertydepth

Возвращает количество преобразований, которые были объединены для формирования этого экземпляра преобразователя.

Примечание

В случае специального составного преобразователя возвращается максимальная глубина из двух.

frozen()[source]

Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где copy.deepcopy() обычно использовался бы.

get_affine()[source]

Получает аффинную часть этого преобразования.

propertyhas_inverse

bool(x) -> bool

Возвращает True, если аргумент x истинный, и False в противном случае. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть переопределен.

inverted()[source]

Возвращает соответствующее обратное преобразование.

Он содержит x == self.inverted().transform(self.transform(x)).

Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его инвертированной копии.

propertyis_affine

bool(x) -> bool

Возвращает True, если аргумент x истинный, и False в противном случае. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть переопределен.

propertyis_separable

bool(x) -> bool

Возвращает True, если аргумент x истинный, и False в противном случае. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть переопределен.

pass_through=True

Если pass_through равно True, все предки всегда будут инвалидироваться, даже если «self» уже недействителен.

transform_affine(points)[source]

Применяет только аффинную часть этого преобразования к заданному массиву значений.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

В неаффинных преобразованиях это, как правило, ничего не делает. В аффинных преобразованиях это эквивалентно transform(values).

Parameters:
valuesarray

Входные значения в виде массива NumPy длиной input_dims или формы (N x input_dims).

Returns:
array

Выходные значения в виде массива NumPy длиной output_dims или формы (N x output_dims ), в зависимости от входных данных.

transform_non_affine(points)[source]

Применяет только неаффинную часть этого преобразования.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

В неаффинных преобразованиях это, как правило, эквивалентно transform(values). В аффинных преобразованиях это всегда ничего не делает.

Parameters:
valuesarray

Входные значения в виде массива NumPy длиной input_dims или формы (N x input_dims).

Returns:
array

Выходные значения в виде массива NumPy длиной output_dims или формы (N x output_dims ), в зависимости от входных данных.

transform_path_non_affine(path)[source]

Применяет неаффинную часть этого преобразования к Path path, возвращая новый Path.

transform_path(path) эквивалентно transform_path_affine(transform_path_non_affine(values)).

classmatplotlib.transforms.IdentityTransform(*args, **kwargs)[source]

Bases: Affine2DBase

Специальный класс, который выполняет тождественное преобразование очень быстро.

Параметры:
shorthand_namestr

Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости str(transform) при DEBUG=True.

__annotations__={}
__module__='matplotlib.transforms'
__str__()[source]

Возвращает str(self).

frozen()[source]

Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где copy.deepcopy() обычно используется.

get_affine()[source]

Получить аффинную часть этого преобразования.

get_matrix()[source]

Получить матрицу для аффинной части этого преобразования.

inverted()[source]

Возвращает соответствующее обратное преобразование.

Содержит x == self.inverted().transform(self.transform(x)).

Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его инвертированной копии.

transform(points)[source]

Применить это преобразование к заданному массиву значений.

Параметры:
valuesarray

Входные значения в виде массива NumPy длиной input_dims или формы (N x input_dims).

Возвращает:
array

Выходные значения в виде массива NumPy длиной output_dims или формы (N x output_dims), в зависимости от входных данных.

transform_affine(points)[source]

Применить только аффинную часть этого преобразования к заданному массиву значений.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

В неаффинных преобразованиях, это обычно ничто. В аффинных преобразованиях это эквивалентно transform(values).

Параметры:
valuesarray

Входные значения в виде массива NumPy длиной input_dims или формы (N x input_dims).

Возвращает:
array

Выходные значения в виде массива NumPy длиной output_dims или формы (N x output_dims), в зависимости от входных данных.

transform_non_affine(points)[source]

Применить только неаффинную часть этого преобразования.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

В неаффинных преобразованиях, это, как правило, эквивалентно transform(values). В аффинных преобразованиях, это всегда ничто.

Параметры:
valuesarray

Входные значения в виде массива NumPy длиной input_dims или формы (N x input_dims).

Возвращает:
array

Выходные значения в виде массива NumPy длиной output_dims или формы (N x output_dims), в зависимости от входных данных.

transform_path(path)[source]

Применить преобразование к Path path, возвращая новый Path.

В некоторых случаях это преобразование может вставлять кривые в траекторию, которая изначально состояла из отрезков прямых.

transform_path_affine(path)[source]

Применить аффинную часть этого преобразования к Path path, возвращая новый Path.

transform_path(path) эквивалентно transform_path_affine(transform_path_non_affine(values)).

transform_path_non_affine(path)[source]

Применить неаффинную часть этого преобразования к Path path, возвращая новый Path.

transform_path(path) эквивалентно transform_path_affine(transform_path_non_affine(values)).

classmatplotlib.transforms.LockableBbox(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[source]

Bases: BboxBase

A Bbox, где некоторые элементы могут быть заблокированы на определённых значениях.

При изменении дочерней области, границы этой области будут обновляться соответственно, за исключением заблокированных элементов.

Parameters:
bboxBbox

Дочерняя область для обертывания.

x0float или None

Заблокированное значение для x0, или None для разблокирования.

y0float или None

Заблокированное значение для y0, или None для разблокирования.

x1float или None

Заблокированное значение для x1, или None для разблокирования.

y1float или None

Заблокированное значение для y1, или None для разблокирования.

__annotations__={}
__init__(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[source]
Parameters:
bboxBbox

Дочерняя область для обертывания.

x0float или None

Заблокированное значение для x0, или None для разблокирования.

y0float или None

Заблокированное значение для y0, или None для разблокирования.

x1float или None

Заблокированное значение для x1, или None для разблокирования.

y1float или None

Заблокированное значение для y1, или None для разблокирования.

__module__='matplotlib.transforms'
__str__()[source]

Возвращает str(self).

get_points()[source]
propertylocked_x0

float или None: Значение, используемое для заблокированного x0.

propertylocked_x1

float или None: Значение, используемое для заблокированного x1.

propertylocked_y0

float или None: Значение, используемое для заблокированного y0.

propertylocked_y1

float или None: Значение, используемое для заблокированного y1.

classmatplotlib.transforms.ScaledTranslation(xt, yt, scale_trans, **kwargs)[source]

Bases: Affine2DBase

Преобразование, которое выполняет сдвиг на xt и yt после того, как xt и yt будут преобразованы с помощью scale_trans.

Parameters:
shorthand_namestr

Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения читабельности str(transform) при DEBUG=True.

__annotations__={}
__init__(xt, yt, scale_trans, **kwargs)[source]
Parameters:
shorthand_namestr

Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения читабельности str(transform) при DEBUG=True.

__module__='matplotlib.transforms'
__str__()[source]

Возвращает str(self).

get_matrix()[source]

Получить матрицу для аффинной части этого преобразования.

classmatplotlib.transforms.Transform(shorthand_name=None)[source]
END_OF_DOCUMENT_MARKER

Bases: TransformNode

Базовый класс всех экземпляров TransformNode, которые фактически выполняют преобразование.

Все неаффинные преобразования должны быть подклассами этого класса. Новые аффинные преобразования должны быть подклассами Affine2D.

Подклассы этого класса должны переопределять следующие члены (как минимум):

  • input_dims
  • output_dims
  • transform()
  • inverted() (если обратное преобразование существует)

Следующие атрибуты можно переопределить, если значение по умолчанию не подходит:

  • is_separable (по умолчанию True для преобразований 1D -> 1D, иначе False)
  • has_inverse (по умолчанию True, если переопределён inverted(), иначе False)

Если преобразование должно выполнять нестандартные действия с объектами matplotlib.path.Path, например, добавлять кривые там, где раньше были отрезки, оно должно переопределить:

  • transform_path()
Parameters:
shorthand_namestr

Строка, представляющая «название» преобразования. Название не имеет значения, кроме как для повышения удобочитаемости str(transform) при DEBUG=True.

__add__(other)[source]

Компонует два преобразования так, что self следует за other.

A + B возвращает преобразование C таким образом, что C.transform(x) == B.transform(A.transform(x)).

__annotations__={}
__array__(*args, **kwargs)[source]

Интерфейс массива для получения аффинной матрицы этого преобразования.

classmethod__init_subclass__()[source]

Этот метод вызывается при наследовании от класса.

Реализация по умолчанию ничего не делает. Она может быть переопределена для расширения подклассов.

__module__='matplotlib.transforms'
__sub__(other)[source]

Компонует self с обратным преобразованием other, отменяя одинаковые члены, если таковые имеются:

# 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)[source]

Возвращает True, если данное преобразование является поддеревом этого преобразования.

Эта функция использует равенство преобразований для определения поддеревьев, поэтому во многих ситуациях будет использоваться идентификатор объекта.

В случае, когда данное преобразование представляет собой всё это преобразование, возвращает True.

contains_branch_seperately(other_transform)[source]

Возвращает True, если данная ветвь является поддеревом этого преобразования по каждому отдельному измерению.

Общее применение этого метода — определить, является ли преобразование объединённым преобразованием, содержащим преобразование данных Axes. Пример:

x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
propertydepth

Возвращает количество преобразований, которые были объединены для создания этого экземпляра преобразования.

Примечание

В случае с объединённым преобразованием возвращается максимальная глубина из двух.

get_affine()[source]

Получает аффинную часть этого преобразования.

get_matrix()[source]

Получает матрицу для аффинной части этого преобразования.

has_inverse=False

True, если у этого преобразования есть соответствующее обратное преобразование.

input_dims=None

Число входных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.

inverted()[source]

Возвращает соответствующее обратное преобразование.

Он содержит x == self.inverted().transform(self.transform(x)).

Значение, возвращаемое этим методом, следует рассматривать как временное. Обновление self не приводит к соответствующему обновлению его копии обратного преобразования.

is_separable=False

True, если это преобразование разделяется на x- и y-измерения.

output_dims=None

Число выходных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.

transform(values)[source]

Применяет это преобразование к заданному массиву значений.

Параметры:
значениямассив

Входные значения в виде массива NumPy длиной input_dims или формы (N x input_dims).

Возвращает:
массив

Выходные значения в виде массива NumPy длиной output_dims или формы (N x output_dims), в зависимости от ввода.

transform_affine(values)[source]

Применяет только аффинную часть этого преобразования к заданному массиву значений.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

В неаффинных преобразованиях это обычно является операцией без действия. В аффинных преобразованиях это эквивалентно transform(values).

Параметры:
значениямассив

Входные значения в виде массива NumPy длиной input_dims или формы (N x input_dims).

Возвращает:
массив

Выходные значения в виде массива NumPy длиной output_dims или формы (N x output_dims), в зависимости от ввода.

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

Преобразует набор углов, закреплённых в определённых точках.

Параметры:
углы(N,) array-like

Углы для преобразования.

pts(N, 2) array-like

Точки, где углы закреплены.

radiansbool, по умолчанию: False

Указывается, являются ли углы радианами или градусами.

pushofffloat

Для каждой точки в pts и угла в углах преобразованный угол вычисляется путём преобразования сегмента длиной pushoff, начиная с этой точки, и установления угла относительно горизонтальной оси, а затем измеряется угол между горизонтальной осью и преобразованным сегментом.

Возвращает:
(N,) массив
transform_bbox(bbox)[source]

Преобразует заданную область.

Для более интеллектуальных преобразований, включая кеширование (частая потребность в Matplotlib), см. TransformedBbox.

transform_non_affine(values)[source]

Применяет только неаффинную часть этого преобразования.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

В неаффинных преобразованиях это, как правило, эквивалентно transform(values). В аффинных преобразованиях это всегда операция без действия.

Параметры:
значениямассив

Входные значения в виде массива NumPy длиной input_dims или формы (N x input_dims).

Возвращает:
массив

Выходные значения в виде массива NumPy длиной output_dims или формы (N x output_dims), в зависимости от ввода.

transform_path(path)[source]

Применяет преобразование к Path пути, возвращая новый Path.

В некоторых случаях это преобразование может вставить кривые в путь, который начинался как отрезки прямых.

transform_path_affine(path)[source]

Применяет аффинную часть этого преобразования к Path пути, возвращая новый Path.

transform_path(path) эквивалентно transform_path_affine(transform_path_non_affine(values)).

transform_path_non_affine(path)[source]

Применяет неаффинную часть этого преобразования к Path пути, возвращая новый Path.

transform_path(path) эквивалентно transform_path_affine(transform_path_non_affine(values)).

transform_point(point)[source]

Возвращает преобразованную точку.

Эта функция сохраняется только для обратной совместимости; более общий метод transform способен преобразовывать как список точек, так и одну точку.

Точка задается как последовательность длиной input_dims. Преобразованная точка возвращается как последовательность длиной output_dims.

classmatplotlib.transforms.TransformNode(shorthand_name=None)[source]

Базовый класс для всего, что участвует в дереве преобразований и должно аннулировать своих родителей или быть аннулированным. Это включает классы, которые на самом деле не являются преобразованиями, такие как ограничивающие прямоугольники, так как некоторые преобразования зависят от ограничивающих прямоугольников для вычисления своих значений.

Параметры:
shorthand_namestr

Строка, представляющая «имя» преобразования. Имя не имеет особого значения, кроме повышения удобочитаемости str(transform) при DEBUG=True.

INVALID=3
INVALID_AFFINE=2
INVALID_NON_AFFINE=1
__annotations__={}
__copy__()[source]
__dict__=mappingproxy({'__module__': 'matplotlib.transforms', '__doc__': '\n Класс-базовый класс для всего, что участвует в дереве преобразований\n и должно аннулировать своих родителей или быть аннулированным. Это включает\n классы, которые на самом деле не являются преобразованиями, такие как ограничивающие прямоугольники, так как некоторые\n преобразования зависят от ограничивающих прямоугольников для вычисления своих значений.\n ', '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__>, '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__()[source]

Вспомогательная функция для pickle.

__init__(shorthand_name=None)[source]
Параметры:
shorthand_namestr

Строка, представляющая «имя» преобразования. Имя не имеет особого значения, кроме повышения удобочитаемости str(transform) при DEBUG=True.

__module__='matplotlib.transforms'
__setstate__(data_dict)[source]
__weakref__

список слабых ссылок на объект

frozen()[source]

Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где copy.deepcopy() обычно может использоваться.

invalidate()[source]

Аннулирует этот TransformNode и вызывает аннулирование своих предков. Должно вызываться всякий раз, когда преобразование изменяется.

is_affine=False
is_bbox=False
pass_through=False

Если pass_through имеет значение True, все предки всегда аннулируются, даже если «self» уже аннулировано.

set_children(*children)[source]

Устанавливает дочерние элементы преобразования, чтобы система аннулирования знала, какие преобразования могут аннулировать это преобразование. Должно вызываться из конструктора любых преобразований, которые зависят от других преобразований.

END_OF_DOCUMENT_MARKER
classmatplotlib.transforms.TransformWrapper(child)[source]

Bases: Transform

Класс-помощник, содержащий единственный дочерний трансформ и действующий эквивалентно ему.

Это полезно, если узел дерева трансформов должен быть заменён во время выполнения трансформом другого типа. Этот класс позволяет этой замене корректно сработать.

TransformWrapper объекты должны иметь одинаковые входные и выходные размерности на протяжении всего своего жизненного цикла, поэтому дочерний трансформ может быть заменён только другим дочерним трансформом тех же размерностей.

child: Объект Transform. Этот дочерний объект может быть позже заменён с помощью set().

__annotations__={}
__eq__(other)[source]

Возвращает self==value.

__hash__=None
__init__(child)[source]

child: Объект Transform. Этот дочерний объект может быть позже заменён с помощью set().

__module__='matplotlib.transforms'
__str__()[source]

Возвращает str(self).

frozen()[source]

Возвращает замороженную копию этого узла трансформов. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния трансформов, когда copy.deepcopy() обычно может быть использован.

propertyhas_inverse

bool(x) -> bool

Возвращает True, если аргумент x истинен, иначе False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.

propertyinput_dims
propertyis_affine

bool(x) -> bool

Возвращает True, если аргумент x истинен, иначе False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.

propertyis_separable

bool(x) -> bool

Возвращает True, если аргумент x истинен, иначе False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.

propertyoutput_dims
pass_through=True

Если pass_through равно True, все предки всегда будут аннулированы, даже если 'self' уже аннулирован.

set(child)[source]

Заменяет текущего дочернего объекта трансформов другим.

Новый дочерний объект должен иметь такое же количество входных и выходных размерностей, как и текущий.

END_OF_DOCUMENT_MARKER
классmatplotlib.transforms.TransformedBbox(bbox, transform, **kwargs)[source]

Базы: BboxBase

A Bbox that is automatically transformed by a given transform. When either the child bounding box or transform changes, the bounds of this bbox will update accordingly.

Параметры:
bboxBbox
transformTransform
__annotations__={}
__init__(bbox, transform, **kwargs)[source]
Параметры:
bboxBbox
transformTransform
__module__='matplotlib.transforms'
__str__()[source]

Возвращает str(self).

contains(x, y)[source]

Возвращает, находится ли (x, y) внутри прямоугольника или на его границе.

fully_contains(x, y)[source]

Возвращает, находится ли x, y внутри прямоугольника, но не на его границе.

get_points()[source]
классmatplotlib.transforms.TransformedPatchPath(patch)[source]

Базы: TransformedPath

A TransformedPatchPath caches a non-affine transformed copy of the Patch. This cached copy is automatically updated when the non-affine part of the transform or the patch changes.

Параметры:
patchPatch
__annotations__={}
__init__(patch)[source]
Параметры:
patchPatch
__module__='matplotlib.transforms'
classmatplotlib.transforms.TransformedPath(path, transform)[source]

Bases: TransformNode

A TransformedPath кэширует неаффинное преобразованное копию Path. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования.

Примечание

Пути считаются неизменяемыми этим классом. Любое обновление вершин/кодов пути не вызовет пересчета преобразования.

Параметры:
pathPath
transformTransform
__annotations__={}
__init__(path, transform)[source]
Параметры:
pathPath
transformTransform
__module__='matplotlib.transforms'
get_affine()[source]
get_fully_transformed_path()[source]

Возвращает полностью преобразованную копию пути.

get_transformed_path_and_affine()[source]

Возвращает копию пути, с уже примененной неаффинной частью преобразования, вместе с аффинной частью пути, необходимой для завершения преобразования.

get_transformed_points_and_affine()[source]

Возвращает копию пути, с уже примененной неаффинной частью преобразования, вместе с аффинной частью пути, необходимой для завершения преобразования. В отличие от get_transformed_path_and_affine(), интерполяция не будет выполнена.

matplotlib.transforms.blended_transform_factory(x_transform, y_transform)[source]

Создает новое "смешанное" преобразование, использующее x_transform для преобразования оси x и y_transform для преобразования оси y.

Возвращается более быстрая версия смешанного преобразования в случае, когда оба дочерних преобразования аффинные.

matplotlib.transforms.composite_transform_factory(a, b)[source]

Создает новое составное преобразование, которое является результатом применения преобразования a, затем преобразования b.

Краткосрочные версии смешанного преобразования предоставляются в случае, когда оба дочерних преобразования являются аффинными, или одно или другое является тождественным преобразованием.

Составные преобразования также могут быть созданы с помощью оператора '+', например:

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

Проверяет, включительно, содержится ли заданное значение в интервале.

Параметры:
interval(float, float)

Конечные точки интервала.

valfloat

Значение, которое нужно проверить на наличие в интервале.

Возвращает:
bool

Является ли val внутри interval.

matplotlib.transforms.interval_contains_open(interval, val)[source]

Проверяет, исключая конечные точки, содержится ли заданное значение в интервале.

Параметры:
interval(float, float)

Конечные точки интервала.

valfloat

Значение, которое нужно проверить на наличие в интервале.

Возвращает:
bool

Является ли val внутри interval.

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

Изменение конечных точек диапазона по мере необходимости для избежания особенностей.

Параметры:
vmin, vmaxfloat

Начальные конечные точки.

expanderfloat, по умолчанию: 0.001

Доля, на которую vmin и vmax расширяются, если исходный интервал слишком мал, на основе tiny.

tinyfloat, по умолчанию: 1e-15

Порог для отношения интервала к максимальному абсолютному значению его конечных точек. Если интервал меньше этого значения, он будет расширен. Это значение должно быть около 1e-15 или больше; в противном случае интервал будет приближаться к пределу разрешения двойной точности.

increasingbool, по умолчанию: True

Если True, поменять местами vmin, vmax, если vmin > vmax.

Возвращаемое значение:
vmin, vmaxfloat

Конечные точки, расширенные и/или поменянные местами при необходимости. Если любой из входов равен inf или NaN, или если оба входа равны 0 или очень близки к нулю, возвращается -expander, expander.

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

Возвращает новый преобразование с добавленным смещением.

Параметры:
transTransform подкласс

Любое преобразование, к которому будет применено смещение.

figFigure, по умолчанию: None

Текущая фигура. Может быть None, если units равны 'dots'.

x, yfloat, по умолчанию: 0.0

Смещение для применения.

units{'дюймы', 'точки', 'пиксели'}, по умолчанию: 'дюймы'

Единицы смещения.

Возвращаемое значение:
Transform подкласс

Преобразование со примененным смещением.

© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/transformations.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API