Spec-Zone.ru › Matplotlib 3.5

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]

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

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]

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

a c e
b d f
0 0 1

.

skew(xShear, yShear)[source]

Добавить наклон на месте.

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

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

skew_deg(xShear, yShear)[source]

Добавить наклон на месте.

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

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

translate(tx, ty)[source]

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

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

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

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

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

a c e
b d f
0 0 1

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

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

Параметры
shorthand_namestr

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

__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 длины input_dims или формы (N x output_dims), в зависимости от входных данных.

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

Bases: matplotlib.transforms.Transform

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

Параметры
shorthand_namestr

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

__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массив

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

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

Выходные значения в виде массива NumPy длины input_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 длины input_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 длины input_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)).

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

Bases: matplotlib.transforms.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.

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

Основания: matplotlib.transforms.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]].

__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-координат, определяющих прямоугольник ограничительной рамки.

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

propertyminpos

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

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

свойствоminposx

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

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

свойствоminposy

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

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

mutated()[source]

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

mutatedx()[source]

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

mutatedy()[source]

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

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

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

свойствоp0

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

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

свойствоp1

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

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

set(other)[source]

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

set_points(points)[source]

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

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

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

update_from_data_x(x, ignore=None)[source]

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

Параметры
xndarray

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

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

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

Параметры
xyndarray

Массив 2D точек.

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

Если True, обновлять значения x/y.

update_from_data_y(y, ignore=None)[source]

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

Параметры
yndarray

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

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

propertyx0

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

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

propertyx1

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

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

propertyy0

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

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

propertyy1

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

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

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

Основание: matplotlib.transforms.TransformNode

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

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

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

Параметры
shorthand_namestr

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

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

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

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

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

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

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

См. также

Axes.set_anchor
propertybounds

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

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

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

containsx(x)[source]

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

containsy(y)[source]

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

corners()[source]

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

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

count_contains(vertices)[source]

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

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

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

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

Создает Bbox, расширив данную вокруг её центра на множители sw и sh.

propertyextents

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

frozen()[source]

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

fully_contains(x, y)[source]

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

fully_containsx(x)[source]

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

fully_containsy(y)[source]

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

fully_overlaps(other)[source]

Return whether this bounding box overlaps with the other bounding box, excluding the edges.

Parameters
otherBboxBase
get_points()[source]
propertyheight

The (signed) height of the bounding box.

staticintersection(bbox1, bbox2)[source]

Return the intersection of bbox1 and bbox2, если они пересекаются, иначе None.

propertyintervalx

The pair of x coordinates that define the bounding box.

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

propertyintervaly

The pair of y coordinates that define the bounding box.

Это не гарантированно отсортировано снизу вверх.

is_affine=True
is_bbox=True
propertymax

The top-right corner of the bounding box.

propertymin

The bottom-left corner of the bounding box.

overlaps(other)[source]

Return whether this bounding box overlaps with the other bounding box.

Parameters
otherBboxBase
propertyp0

The first pair of (x, y) coordinates that define the bounding box.

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

propertyp1

The second pair of (x, y) coordinates that define the bounding box.

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

padded(p)[source]

Construct a Bbox by padding this one on all four sides by p.

rotated(radians)[source]

Return the axes-aligned bounding box that bounds the result of rotating this Bbox by an angle of radians.

shrunk(mx, my)[source]

Return a copy of the Bbox, reduced by the factor mx in the x direction and the factor my in the y direction. The lower left corner of the box remains unchanged. Usually mx and my will be less than 1, but this is not required.

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

Return a copy of the Bbox, reduced so that it is as large as possible while maintaining the desired aspect ratio, box_aspect. If the box coordinates are relative (e.g., fractions of a larger box like a figure), then the physical aspect ratio of that figure is specified by fig_aspect, so that box_aspect can also be given as a ratio of absolute dimensions, not relative dimensions.

propertysize

The (signed) width and height of the bounding box.

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: matplotlib.transforms.Affine2DBase

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

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

__init__(boxin, boxout, **kwargs)[source]

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

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

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

get_matrix()[source]

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

is_separable=True

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

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

Bases: matplotlib.transforms.Affine2DBase

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

Параметры
shorthand_namestr

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

__init__(boxin, **kwargs)[source]
Parameters
shorthand_namestr

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

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

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

get_matrix()[source]

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

is_separable=True

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

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

Bases: matplotlib.transforms.Affine2DBase

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

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

__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: matplotlib.transforms.BboxTransformTo

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

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

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

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

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

Основы: matplotlib.transforms._BlendedMixin, matplotlib.transforms.Affine2DBase

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

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

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

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

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

__init__(x_transform, y_transform, **kwargs)[source]

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

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

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

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

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

is_separable=True

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

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

Bases: matplotlib.transforms._BlendedMixin, matplotlib.transforms.Transform

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

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

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

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

__init__(x_transform, y_transform, **kwargs)[source]

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

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

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

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

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

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

propertydepth

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

Примечание

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

frozen()[source]

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

get_affine()[source]

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

propertyhas_inverse

bool(x) -> bool

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

input_dims=2

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

inverted()[source]

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

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

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

propertyis_affine

bool(x) -> bool

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

is_separable=True

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

output_dims=2

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

pass_through=True

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

transform_non_affine(points)[source]

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

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

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

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

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

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

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

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

Bases: matplotlib.transforms.Affine2DBase

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

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

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

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

__init__(a, b, **kwargs)[source]

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

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

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

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

propertydepth

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

Примечание

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

get_matrix()[source]

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

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

Bases: matplotlib.transforms.Transform

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

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

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

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

__eq__(other)[source]

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

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

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

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

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

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

propertydepth

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

Примечание

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

frozen()[source]

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

get_affine()[source]

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

propertyhas_inverse

bool(x) -> bool

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

inverted()[source]

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

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

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

propertyis_affine

bool(x) -> bool

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

propertyis_separable

bool(x) -> bool

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

pass_through=True

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

transform_affine(points)[source]

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

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

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

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

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

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

Выходные значения в виде массива NumPy длины input_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 длины input_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: matplotlib.transforms.Affine2DBase

A special class that does one thing, the identity transform, in a fast way.

Parameters
shorthand_namestr

A string representing the "name" of the transform. The name carries no significance other than to improve the readability of str(transform) when DEBUG=True.

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

Return str(self).

frozen()[source]

Return a frozen copy of this transform node. The frozen copy will not be updated when its children change. Useful for storing a previously known state of a transform where copy.deepcopy() might normally be used.

get_affine()[source]

Get the affine part of this transform.

get_matrix()[source]

Get the matrix for the affine part of this transform.

inverted()[source]

Return the corresponding inverse transformation.

It holds x == self.inverted().transform(self.transform(x)).

The return value of this method should be treated as temporary. An update to self does not cause a corresponding update to its inverted copy.

transform(points)[source]

Apply this transformation on the given array of values.

Parameters
valuesarray

The input values as NumPy array of length input_dims or shape (N x input_dims).

Returns
array

The output values as NumPy array of length input_dims or shape (N x output_dims), depending on the input.

transform_affine(points)[source]

Apply only the affine part of this transformation on the given array of values.

transform(values) is always equivalent to transform_affine(transform_non_affine(values)).

In non-affine transformations, this is generally a no-op. In affine transformations, this is equivalent to transform(values).

Parameters
valuesarray

The input values as NumPy array of length input_dims or shape (N x input_dims).

Returns
array

The output values as NumPy array of length input_dims or shape (N x output_dims), depending on the input.

transform_non_affine(points)[source]

Apply only the non-affine part of this transformation.

transform(values) is always equivalent to transform_affine(transform_non_affine(values)).

In non-affine transformations, this is generally equivalent to transform(values). In affine transformations, this is always a no-op.

Parameters
valuesarray

The input values as NumPy array of length input_dims or shape (N x input_dims).

Returns
array

The output values as NumPy array of length input_dims or shape (N x output_dims), depending on the input.

transform_path(path)[source]

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

In some cases, this transform may insert curves into the path that began as line segments.

transform_path_affine(path)[source]

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

transform_path(path) is equivalent to transform_path_affine(transform_path_non_affine(values)).

transform_path_non_affine(path)[source]

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

transform_path(path) is equivalent to transform_path_affine(transform_path_non_affine(values)).

классmatplotlib.transforms.LockableBbox(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[source]

Основывается на matplotlib.transforms.BboxBase

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

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

Параметры
bboxBbox

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

x0float или None

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

y0float или None

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

x1float или None

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

y1float или None

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

__init__(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[source]
Параметры
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]
свойствоlocked_x0

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

свойствоlocked_x1

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

свойствоlocked_y0

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

свойствоlocked_y1

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

классmatplotlib.transforms.ScaledTranslation(xt, yt, scale_trans, **kwargs)[source]

Основывается на matplotlib.transforms.Affine2DBase

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

Параметры
shorthand_namestr

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

__init__(xt, yt, scale_trans, **kwargs)[source]
Параметры
shorthand_namestr

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

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

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

get_matrix()[source]

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

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

Bases: matplotlib.transforms.TransformNode

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

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

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

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

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

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

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

  • transform_path()
Parameters
shorthand_namestr

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

__add__(other)[source]

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

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

__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, если заданное преобразование является поддеревом этого преобразования.

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

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

contains_branch_seperately(other_transform)[source]

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

Распространённое применение этого метода — определить, является ли преобразование смешанным преобразованием, содержащим преобразование данных осей. Например:

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

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

Примечание

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

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 длиной input_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 длиной input_dims или формы (N x output_dims), в зависимости от ввода.

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

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

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

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

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

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

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

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

pushofffloat

Для каждой точки в pts и угла в angles преобразованный угол вычисляется путём преобразования отрезка длиной 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 длиной input_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)).

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
__copy__()[source]
__deepcopy__(memo)[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__>, '__deepcopy__': <function TransformNode.__deepcopy__>, '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
classmatplotlib.transforms.TransformWrapper(child)[source]

Bases: matplotlib.transforms.Transform

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

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

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

child: Экземпляр Transform. Позже этот потомка можно заменить с помощью set().

__eq__(other)[source]

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

__hash__=None
__init__(child)[source]

child: Экземпляр Transform. Позже этот потомка можно заменить с помощью set().

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

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

frozen()[source]

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

propertyhas_inverse

bool(x) -> bool

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

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' уже обновлён.

set(child)[source]

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

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

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

Bases: matplotlib.transforms.BboxBase

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

Parameters
bboxBbox
transformTransform
__init__(bbox, transform, **kwargs)[source]
Parameters
bboxBbox
transformTransform
__module__='matplotlib.transforms'
__str__()[source]

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

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

Bases: matplotlib.transforms.TransformedPath

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

Parameters
patchPatch
__init__(patch)[source]
Parameters
patchPatch
__module__='matplotlib.transforms'
classmatplotlib.transforms.TransformedPath(path, transform)[source]

Bases: matplotlib.transforms.TransformNode

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

Примечание

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

Parameters
pathPath
transformTransform
__init__(path, transform)[source]
Parameters
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]

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

Parameters
interval(float, float)

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

valfloat

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

Returns
bool

Является ли val элементом интервала interval.

END_OF_DOCUMENT_MARKER
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–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/transformations.html

Spec-Zone.ru

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