Spec-Zone.ru › Matplotlib 3.8

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)[исходный код]

Базовые классы: Affine2DBase

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

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

a c e
b d f
0 0 1

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

clear()[исходный код]

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

staticfrom_values(a, b, c, d, e, f)[исходный код]

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

a c e
b d f
0 0 1

.

get_matrix()[исходный код]

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

a c e
b d f
0 0 1

.

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 равно None, одинаковый масштаб применяется по обеим осям x и y.

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

set(other)[исходный код]

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

set_matrix(mtx)[исходный код]

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

a c e
b d f
0 0 1

.

skew(xShear, yShear)[исходный код]

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

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

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

skew_deg(xShear, yShear)[исходный код]

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

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

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

translate(tx, ty)[исходный код]

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

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

classmatplotlib.transforms.Affine2DBase(*args, **kwargs)[исходный код]

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

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

a c e
b d f
0 0 1

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

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

Параметры:
shorthand_namestr

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

frozen()[исходный код]

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

has_inverse=True

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

input_dims=2

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

inverted()[исходный код]

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

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

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

propertyis_separable

bool(x) -> bool

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

output_dims=2

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

to_values()[исходный код]

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

transform_affine(values)[исходный код]

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

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

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

Параметры:
valuesarray

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

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

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

классmatplotlib.transforms.AffineBase(*args, **kwargs)[исходный код]

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

Параметры:
shorthand_namestr

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

get_affine()[исходный код]

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

is_affine=True
transform(values)[исходный код]

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

Параметры:
valuesarray-like

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

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

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

transform_affine(values)[исходный код]

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

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

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

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

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

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

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

transform_non_affine(values)[исходный код]

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

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

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

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

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

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

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

transform_path(path)[исходный код]

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

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

transform_path_affine(path)[исходный код]

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

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

transform_path_non_affine(path)[исходный код]

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

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

классmatplotlib.transforms.AffineDeltaTransform(transform, **kwargs)[исходный код]

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

Этот класс предназначен для преобразования смещений («смещений положения») между парами точек (например, как 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.

get_matrix()[исходный код]

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

классmatplotlib.transforms.Bbox(points, **kwargs)[исходный код]
END_OF_DOCUMENT_MARKER

Базовые классы: 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

Массив (2, 2) вида [[x0, y0], [x1, y1]].

свойствоbounds

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

статическийfrom_bounds(x0, y0, width, height)[исходный код]

Создаёт новый Bbox из x0, y0, width и height.

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

статическийfrom_extents(*args, minpos=None)[исходный код]

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

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

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

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

minposfloat или None

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

frozen()[исходный код]

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

get_points()[исходный код]

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

ignore(value)[исходный код]

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

valuebool
  • При True, последующие вызовы update_from_data_xy будут игнорировать существующие границы прямоугольника.
  • При False, последующие вызовы update_from_data_xy будут включать существующие границы прямоугольника.
свойствоintervalx

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

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

свойствоintervaly

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

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

свойствоminpos

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

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

свойствоminposx

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

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

свойствоminposy

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

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

mutated()[исходный код]

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

mutatedx()[исходный код]

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

mutatedy()[исходный код]

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

staticnull()[исходный код]

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

propertyp0

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

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

propertyp1

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

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

set(other)[исходный код]

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

set_points(points)[исходный код]

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

staticunit()[исходный код]

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

update_from_data_x(x, ignore=None)[исходный код]

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

Параметры:
xndarray

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

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

Обновить границы прямоугольника Bbox на основе переданных координат xy.

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

Параметры:
xy(N, 2) array-like

Координаты (x, y).

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

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

update_from_data_y(y, ignore=None)[исходный код]

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

Параметры:
yndarray

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

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

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

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

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

propertyx0

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

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

propertyx1

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

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

propertyy0

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

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

propertyy1

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

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

classmatplotlib.transforms.BboxBase(shorthand_name=None)[исходный код]

Базовые классы: TransformNode

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

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

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

Параметры:
shorthand_namestr

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

anchored(c, container=None)[исходный код]

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

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

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

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

Прямоугольник, внутри которого позиционируется 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)[исходный код]

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

containsx(x)[исходный код]

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

containsy(y)[исходный код]

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

corners()[исходный код]

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

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

count_contains(vertices)[исходный код]

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

Параметры:
vertices(N, 2) массив
count_overlaps(bboxes)[исходный код]

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

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

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

propertyextents

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

frozen()[исходный код]

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

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

fully_contains(x, y)[исходный код]

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

fully_containsx(x)[исходный код]

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

fully_containsy(y)[исходный код]

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

fully_overlaps(other)[исходный код]

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

Параметры:
otherBboxBase
get_points()[исходный код]
propertyheight

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

staticintersection(bbox1, bbox2)[исходный код]

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

propertyintervalx

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

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

propertyintervaly

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

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

is_affine=True
is_bbox=True
propertymax

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

propertymin

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

overlaps(other)[исходный код]

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

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

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

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

propertyp1

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

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

padded(w_pad, h_pad=None)[исходный код]

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

Параметры:
w_padfloat

Отступ по ширине

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

Отступ по высоте. По умолчанию равен w_pad.

rotated(radians)[исходный код]

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

shrunk(mx, my)[исходный код]

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

shrunk_to_aspect(box_aspect, container=None, fig_aspect=1.0)[исходный код]

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

propertysize

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

END_OF_DOCUMENT_MARKER
splitx(*args)[исходный код]

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

splity(*args)[исходный код]

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

transformed(transform)[исходный код]

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

translated(tx, ty)[исходный код]

Создаёт Bbox путем перевода этого объекта на tx и ty.

staticunion(bboxes)[исходный код]

Возвращает 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)[исходный код]

Базовые классы: Affine2DBase

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

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

get_matrix()[исходный код]

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

is_separable=True

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

классmatplotlib.transforms.BboxTransformFrom(boxin, **kwargs)[исходный код]

Базовые классы: Affine2DBase

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

Параметры:
shorthand_namestr

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

get_matrix()[исходный код]

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

is_separable=True

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

классmatplotlib.transforms.BboxTransformTo(boxout, **kwargs)[исходный код]

Базовые классы: Affine2DBase

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

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

get_matrix()[исходный код]

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

is_separable=True

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

классmatplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs)[исходный код]

Базовые классы: BboxTransformTo

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

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

get_matrix()[исходный код]

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

классmatplotlib.transforms.BlendedAffine2D(x_transform, y_transform, **kwargs)[исходный код]

Базовые классы: _BlendedMixin, Affine2DBase

«Смешанное» преобразование использует одно преобразование для оси x и другое преобразование для оси y.

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

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

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

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

get_matrix()[исходный код]

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

is_separable=True

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

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

Базовые классы: _BlendedMixin, Transform

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

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

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

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

contains_branch(other)[source]

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

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

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

propertydepth

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

Примечание

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

frozen()[source]

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

get_affine()[source]

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

propertyhas_inverse

bool(x) -> bool

Возвращает True, если аргумент x истинный, и 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 истинный, и 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(values)[source]

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

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

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

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

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

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

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

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

Базовые классы: Affine2DBase

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

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

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

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

propertydepth

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

Примечание

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

get_matrix()[source]

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

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

Базовые классы: Transform

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

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

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

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

propertydepth

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

Примечание

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

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

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

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

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

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

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

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

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

transform_non_affine(values)[source]

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

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

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

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

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

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

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

transform_path_non_affine(path)[source]

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

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

классmatplotlib.transforms.IdentityTransform(*args, **kwargs)[исходный код]

Базовые классы: Affine2DBase

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

Параметры:
shorthand_namestr

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

frozen()[исходный код]

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

get_affine()[исходный код]

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

get_matrix()[исходный код]

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

inverted()[исходный код]

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

В ней хранится x == self.inverted().transform(self.transform(x)).

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

transform(values)[исходный код]

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

Параметры:
valuesмассивоподобный объект

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

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

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

transform_affine(values)[исходный код]

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

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

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

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

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

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

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

transform_non_affine(values)[исходный код]

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

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

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

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

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

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

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

transform_path(path)[исходный код]

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

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

transform_path_affine(path)[исходный код]

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

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

transform_path_non_affine(path)[исходный код]

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

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

классmatplotlib.transforms.LockableBbox(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[исходный код]

Базовые классы: BboxBase

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

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

Параметры:
bboxBbox

Дочерний прямоугольник, который нужно обернуть.

x0вещественное число или None

Зафиксированное значение для x0 или None, чтобы снять фиксацию.

y0вещественное число или None

Зафиксированное значение для y0 или None, чтобы снять фиксацию.

x1вещественное число или None

Зафиксированное значение для x1 или None, чтобы снять фиксацию.

y1вещественное число или None

Зафиксированное значение для y1 или None, чтобы снять фиксацию.

get_points()[исходный код]
свойствоlocked_x0

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

свойствоlocked_x1

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

свойствоlocked_y0

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

свойствоlocked_y1

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

классmatplotlib.transforms.ScaledTranslation(xt, yt, scale_trans, **kwargs)[исходный код]

Базовые классы: Affine2DBase

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

Параметры:
shorthand_namestr

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

get_matrix()[исходный код]

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

классmatplotlib.transforms.Transform(shorthand_name=None)[исходный код]
END_OF_DOCUMENT_MARKER

Базовые классы: 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()
Параметры:
shorthand_namestr

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

__add__(other)[исходный код]

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

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

__sub__(other)[исходный код]

Комбинирует 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() может отличаться на небольшую величину эпсилон.
  • B.inverted() всегда возвращает замороженное преобразование: если вычислить A + B + B.inverted(), а затем изменить B, то B.inverted() не будет обновлён, и последние два члена больше не будут сокращаться; с другой стороны, A + B - B всегда будет равно A, даже если B изменяется.
contains_branch(other)[исходный код]

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

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

Если данное преобразование представляет собой всё это преобразование, возвращает True.

contains_branch_seperately(other_transform)[исходный код]

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

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

x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
свойствоdepth

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

Примечание

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

get_affine()[исходный код]

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

get_matrix()[исходный код]

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

has_inverse=False

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

input_dims=None

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

inverted()[исходный код]

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

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

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

is_separable=False

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

output_dims=None

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

transform(values)[исходный код]

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

Параметры:
valuesмассивоподобный объект

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

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

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

transform_affine(values)[source]

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

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

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

Параметры:
valuesarray

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

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

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

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

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

Параметры:
angles(N,) array-like

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

pts(N, 2) array-like

Точки, в которых прикреплены углы.

radiansbool, default: False

Заданы ли angles в радианах или градусах.

pushofffloat

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

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

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

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

transform_non_affine(values)[source]

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

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

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

Параметры:
valuesarray

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

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

Выходные значения в виде массива длиной output_dims или формы (N, 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)).

transform_point(point)[source]

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

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

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

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

Базовые классы: object

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

Параметры:
shorthand_namestr

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

INVALID=3
INVALID_AFFINE=2
INVALID_NON_AFFINE=1
frozen()[source]

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

invalidate()[source]

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

is_affine=False
is_bbox=False
pass_through=False

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

set_children(*children)[source]

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

classmatplotlib.transforms.TransformWrapper(child)[source]

Базовые классы: Transform

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

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

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

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

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
classmatplotlib.transforms.TransformedBbox(bbox, transform, **kwargs)[source]

Базовые классы: BboxBase

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

Параметры:
bboxBbox
transformTransform
contains(x, y)[source]

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

fully_contains(x, y)[source]

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

get_points()[source]
classmatplotlib.transforms.TransformedPatchPath(patch)[source]

Базовые классы: TransformedPath

TransformedPatchPath кэширует копию Patch, преобразованную неаффинной частью преобразования. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования или объекта Patch.

Параметры:
patchPatch
classmatplotlib.transforms.TransformedPath(path, transform)[source]

Базовые классы: TransformNode

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

Примечание

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

Параметры:
pathPath
transformTransform
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)[исходный код]

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

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

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

c = a + b
matplotlib.transforms.interval_contains(interval, val)[исходный код]

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

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

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

valfloat

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

Возвращаемое значение:
bool

Принадлежит ли val интервалу interval.

matplotlib.transforms.interval_contains_open(interval, val)[исходный код]

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

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

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

valfloat

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

Возвращаемое значение:
bool

Принадлежит ли val интервалу interval.

matplotlib.transforms.nonsingular(vmin, vmax, expander=0.001, tiny=1e-15, increasing=True)[исходный код]

Модифицирует конечные точки диапазона для избежания особенностей.

Параметры:
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')[исходный код]

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

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

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

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

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

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

Смещение, которое нужно применить.

units{'inches', 'points', 'dots'}, по умолчанию: 'inches'

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

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

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

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

Spec-Zone.ru

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