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

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

Мутирующее 2D аффинное преобразование.

Инициализация аффинного преобразования из 3x3 массива numpy с плавающей запятой:

a c e
b d f
0 0 1

Если matrix имеет значение None, инициализируется с помощью тождественного преобразования.

__init__(matrix=None, **kwargs)[исходный код]

Инициализация аффинного преобразования из 3x3 массива numpy с плавающей запятой:

a c e
b d f
0 0 1

Если matrix имеет значение None, инициализируется с помощью тождественного преобразования.

__module__='matplotlib.transforms'
__str__()[исходный код]

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

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

Сброс базовой матрицы до тождественного преобразования.

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

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

a c e
b d f
0 0 1

.

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

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

a c e
b d f
0 0 1

.

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

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

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

Примечания

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

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

Установите базовую матрицу преобразования из массива numpy 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)[исходный код]

Базовые классы: 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()[исходный код]

Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где обычно может использоваться 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(points)[исходный код]

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

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

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

Параметры:
valuesarray

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

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

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

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

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

Параметры:
shorthand_namestr

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

__annotations__={}
__array__(*args, **kwargs)[исходный код]

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

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

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

__hash__=None
__init__(*args, **kwargs)[исходный код]
Параметры:
shorthand_namestr

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

__module__='matplotlib.transforms'
get_affine()[исходный код]

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

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

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

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

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

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

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

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

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

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

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

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

Применить преобразование к 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)[исходный код]

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

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

__module__='matplotlib.transforms'
__str__()[исходный код]

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

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

Массив NumPy 2x2 вида [[x0, y0], [x1, y1]].

__annotations__={}
__format__(fmt)[исходный код]

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

__init__(points, **kwargs)[исходный код]
Параметры:
pointsndarray

Массив NumPy 2x2 вида [[x0, y0], [x1, y1]].

__module__='matplotlib.transforms'
__repr__()[исходный код]

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

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

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

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

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

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

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

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

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

Их порядок слева направо не гарантируется.

свойствоintervaly

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

Их порядок снизу вверх не гарантируется.

свойствоminpos

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

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

свойствоminposx

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

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

свойствоminposy

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

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

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

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

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

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

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

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

статическийnull()[исходный код]

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

свойствоp0

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

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

свойствоp1

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

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

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

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

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

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

статическийunit()[исходный код]

Создает новый единичный 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 на основе переданных данных. После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.

Параметры:
xyndarray

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

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.

свойствоx0

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

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

свойствоx1

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

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

свойствоy0

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

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

свойствоy1

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

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

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

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

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

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

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

Параметры:
shorthand_namestr

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

__annotations__={}
__array__(*args, **kwargs)[исходный код]
__module__='matplotlib.transforms'
anchored(c, container=None)[исходный код]

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

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

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

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

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

См. также

Axes.set_anchor
свойствоbounds

Возвращает (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Массив NumPy размером Nx2.
count_overlaps(bboxes)[исходный код]

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

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

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

свойствоextents

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

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

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

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

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

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

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

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

propertysize

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

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

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

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

__annotations__={}
__init__(boxin, boxout, **kwargs)[исходный код]

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

__module__='matplotlib.transforms'
__str__()[исходный код]

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

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

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

is_separable=True

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

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

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

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

Параметры:
shorthand_namestr

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

__annotations__={}
__init__(boxin, **kwargs)[исходный код]
Параметры:
shorthand_namestr

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

__module__='matplotlib.transforms'
__str__()[исходный код]

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

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

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

is_separable=True

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

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

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

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

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

__annotations__={}
__init__(boxout, **kwargs)[исходный код]

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

__module__='matplotlib.transforms'
__str__()[исходный код]

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

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

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

is_separable=True

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

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

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

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

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

__annotations__={}
__module__='matplotlib.transforms'
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, которая может автоматически определить, какой тип смешанного преобразования создать.

__annotations__={}
__init__(x_transform, y_transform, **kwargs)[исходный код]

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

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

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

__module__='matplotlib.transforms'
get_matrix()[исходный код]

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

is_separable=True

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

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

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

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

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

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

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

__annotations__={}
__init__(x_transform, y_transform, **kwargs)[исходный код]

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

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

__module__='matplotlib.transforms'
contains_branch(other)[исходный код]

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

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

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

свойствоdepth

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

Примечание

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

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

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

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

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

свойствоhas_inverse

bool(x) -> bool

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

input_dims=2

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

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

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

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

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

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

Применяет только неаффинное преобразование.

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), в зависимости от входных данных.

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

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

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

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

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

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

__annotations__={}
__init__(a, b, **kwargs)[исходный код]

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

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

__module__='matplotlib.transforms'
__str__()[исходный код]

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

свойствоdepth

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

Примечание

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

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

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

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

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

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

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

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

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

__annotations__={}
__eq__(other)[исходный код]

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

__hash__=None
__init__(a, b, **kwargs)[исходный код]

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

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

__module__='matplotlib.transforms'
__str__()[исходный код]

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

propertydepth

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

Примечание

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

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

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

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

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

propertyhas_inverse

bool(x) -> bool

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

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

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

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

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

propertyis_affine

bool(x) -> bool

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

propertyis_separable

bool(x) -> bool

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

pass_through=True

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

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

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

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

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

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

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

__annotations__={}
__module__='matplotlib.transforms'
__str__()[исходный код]

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметры:
valuesarray

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

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

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

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

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

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

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

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

Применяет преобразование к 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

Дочерний прямоугольник-обертка.

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

Дочерний прямоугольник-обертка.

x0float или None

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

y0float или None

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

x1float или None

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

y1float или None

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

__module__='matplotlib.transforms'
__str__()[исходный код]

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

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

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

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

Параметры:
короткое_названиеstr

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

__annotations__={}
__init__(xt, yt, scale_trans, **kwargs)[исходный код]
Параметры:
короткое_названиеstr

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

__module__='matplotlib.transforms'
__str__()[исходный код]

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

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

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

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

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

__annotations__={}
__array__(*args, **kwargs)[исходный код]

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

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

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

По умолчанию он ничего не делает. Его можно переопределить, чтобы расширить подклассы.

__module__='matplotlib.transforms'
__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)
propertydepth

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметры:
углы(N,) массив-подобный

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

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

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

радианыbool, по умолчанию: False

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

pushofffloat

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

Возвращаемое значение:
(N,) массив
transform_bbox(bbox)[исходный код]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

классmatplotlib.transforms.TransformNode(shorthand_name=None)[источник]

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

Параметры:
shorthand_namestr

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

INVALID=3
INVALID_AFFINE=2
INVALID_NON_AFFINE=1
__annotations__={}
__copy__()[источник]
__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__()[источник]
__init__(shorthand_name=None)[источник]
Параметры:
shorthand_namestr

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

__module__='matplotlib.transforms'
__setstate__(data_dict)[источник]
__weakref__

список слабых ссылок на объект (если определен)

frozen()[источник]

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

invalidate()[источник]

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

is_affine=False
is_bbox=False
pass_through=False

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

set_children(*children)[источник]

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

END_OF_DOCUMENT_MARKER
классmatplotlib.transforms.TransformWrapper(child)[источник]

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

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

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

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

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

__annotations__={}
__eq__(other)[источник]

Возвращает результат сравнения self==value.

__hash__=None
__init__(child)[источник]

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

__module__='matplotlib.transforms'
__str__()[источник]

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

frozen()[источник]

Возвращает замороженную копию этого узла преобразований. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для хранения ранее известного состояния преобразований, где 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)[источник]

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

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

классmatplotlib.transforms.TransformedBbox(bbox, transform, **kwargs)[источник]

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

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

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

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

get_points()[источник]
классmatplotlib.transforms.TransformedPatchPath(patch)[источник]

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

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

Параметры:
patchPatch
__annotations__={}
__init__(patch)[источник]
Параметры:
patchPatch
__module__='matplotlib.transforms'
классmatplotlib.transforms.TransformedPath(path, transform)[источник]

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

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

Примечание

Этот класс считает пути неизменяемыми. Обновление вершин или кодов пути не приведёт к перерасчёту преобразования.

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

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

get_transformed_path_and_affine()[источник]

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

get_transformed_points_and_affine()[источник]

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

matplotlib.transforms.blended_transform_factory(x_transform, y_transform)[источник]

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

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

matplotlib.transforms.composite_transform_factory(a, b)[источник]

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

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

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

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

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

Параметры:
interval(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.6.0/api/transformations.html

Spec-Zone.ru

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