Spec-Zone.ru › Matplotlib 3.6

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]

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

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().

set(other)[source]

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

set_matrix(mtx)[source]

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

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().

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

Bases: AffineBase

Базовый класс всех 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 не приводит к соответствующему обновлению его инвертированной копии.

propertyis_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).

Параметры:
valuesarray

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

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

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

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

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

Параметры:
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

Основы: 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 2x2 вида [[x0, y0], [x1, y1]].

__annotations__={}
__format__(fmt)[source]

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

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

Массив numpy 2x2 вида [[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-координат, определяющих область.

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

propertyintervaly

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

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

свойствоminpos

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

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

свойствоminposx

Минимальное положительное значение в направлении x в рамках Bbox.

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

свойствоminposy

Минимальное положительное значение в направлении y в рамках Bbox.

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

mutated()[source]

Возвращает, изменился ли Bbox с момента инициализации.

mutatedx()[source]

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

mutatedy()[source]

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

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

Создает новый нулевой Bbox от (inf, inf) до (-inf, -inf).

свойствоp0

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

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

свойствоp1

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

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

set(other)[source]

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

set_points(points)[source]

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

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

Создает новый единичный Bbox от (0, 0) до (1, 1).

update_from_data_x(x, ignore=None)[source]

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

Параметры:
xndarray

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

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

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

Параметры:
xyndarray

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

ignorebool, необязательно
  • При True, игнорировать существующие границы Bbox.
  • При False, включать существующие границы Bbox.
  • При 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 игнорируются.

Параметры:
verticesNx2 Numpy массив.
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]

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

Parameters:
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]

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

Parameters:
otherBboxBase
propertyp0

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

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

propertyp1

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

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

padded(p)[source]

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

rotated(radians)[source]

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

shrunk(mx, my)[source]

Возвращает копию Bbox, уменьшенную в x направлении на коэффициент mx и в y направлении на коэффициент my. Нижняя левая вершина прямоугольной области остаётся неизменной. Обычно 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

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

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

Bases: Affine2DBase

BboxTransformFrom Линейно преобразует точки из заданной 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

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

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

Bases: Affine2DBase

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

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

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

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

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

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

get_matrix()[source]

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

is_separable=True

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

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

Bases: BboxTransformTo

Преобразование 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

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

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

Примечание

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

frozen()[source]

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

get_affine()[source]

Получает аффинное преобразование этого объекта.

propertyhas_inverse

bool(x) -> bool

Возвращает True, если аргумент x истинный, иначе False. builtins 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. builtins 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). В аффинных преобразованиях это всегда бесполезно.

Parameters:
valuesarray

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

Returns:
array

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

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. Builtins True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассом.

inverted()[source]

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

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

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

propertyis_affine

bool(x) -> bool

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

propertyis_separable

bool(x) -> bool

Возвращает True, если аргумент x истинен, иначе False. Builtins 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:
короткое_названиеstr

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

__annotations__={}
__init__(xt, yt, scale_trans, **kwargs)[source]
Parameters:
короткое_названиеstr

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

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

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

get_matrix()[source]

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

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

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

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

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

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

contains_branch_seperately(other_transform)[source]

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

Часто это используется для идентификации, является ли преобразование сложным преобразованием, содержащим преобразование данных осей. Пример:

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

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

END_OF_DOCUMENT_MARKER
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,) массив-подобный

Углы, которые нужно преобразовать.

pts(N, 2) массив-подобный

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

радианыbool, по умолчанию: 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 преобразования зависят от прямоугольников обрезки для вычисления своих значений.\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]
__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
классmatplotlib.transforms.TransformWrapper(child)[source]

Базы: 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() обычно используется.

свойствоhas_inverse

bool(x) -> bool

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

свойствоis_affine

bool(x) -> bool

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

свойствоis_separable

bool(x) -> bool

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

pass_through=True

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

set(child)[source]

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

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

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

Базы: BboxBase

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

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

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

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

Bases: TransformedPath

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

Параметры:
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.

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{'inches', 'points', 'dots'}, по умолчанию: 'inches'

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

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

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

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

Spec-Zone.ru

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