matplotlib.transforms
В Matplotlib реализован механизм произвольных геометрических преобразований, который используется для определения конечного положения всех элементов, нарисованных на холсте.
Преобразования составляют дерево объектов TransformNode, чьё фактическое значение зависит от их дочерних элементов. При изменении содержимого дочерних элементов их родительские элементы автоматически аннулируются. При следующем обращении к аннулированному преобразованию оно пересчитывается, чтобы отразить эти изменения. Этот подход с аннулированием/кэшированием предотвращает ненужные пересчёты преобразований и способствует улучшению интерактивной производительности.
Например, вот граф дерева преобразований, используемого для отображения данных на графике:
Механизм можно использовать как для аффинных, так и для неаффинных преобразований. Однако для повышения скорости мы хотим использовать обработчики отрисовки бэкенда для выполнения аффинных преобразований по мере возможности. Поэтому можно выполнить только аффинную или неаффинную часть преобразования на наборе данных. Аффинное преобразование всегда предполагается после неаффинного. Для любого преобразования:
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()[исходный код]
-
Получить базовую матрицу преобразования как массив numpy 3x3:
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)[исходный код]
-
Установите основную матрицу преобразования из 3x3 массива numpy:
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().
- классmatplotlib.transforms.Affine2DBase(*args, **kwargs)[исходный код]
-
Базовый класс всех 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
-
Истина, если у этого преобразования есть соответствующее обратное преобразование.
- input_dims=2
-
Количество входных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- inverted()[исходный код]
-
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его инвертированной копии.
- свойствоis_separable
-
bool(x) -> bool
Возвращает True, если аргумент x истинный, иначе False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
- output_dims=2
-
Количество выходных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- to_values()[исходный код]
-
Возвращает значения матрицы в виде
(a, b, c, d, e, f)кортежа.
- transform_affine(points)[исходный код]
-
Применяет только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, бесполезно. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- valuesмассив
-
Входные значения в виде NumPy массива длиной
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде NumPy массива длиной
output_dimsили формы (N xoutput_dims), в зависимости от ввода.
- classmatplotlib.transforms.AffineBase(*args, **kwargs)[источник]
-
Базовые классы:
TransformБазовый класс всех аффинных преобразований любого числа измерений.
- Параметры:
-
- 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 xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_affine(values)[источник]
-
Применить только аффинную часть данного преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно пустая операция. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- valuesмассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_non_affine(points)[источник]
-
Применить только неаффинную часть данного преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно эквивалентно
transform(values). В аффинных преобразованиях это всегда пустая операция.- Параметры:
-
- valuesмассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_path(path)[источник]
-
Применить преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставлять кривые в путь, который изначально представлял собой отрезки прямых.
- classmatplotlib.transforms.AffineDeltaTransform(transform, **kwargs)[источник]
-
Базовые классы:
Affine2DBaseОбёртка преобразования для преобразования смещений между парами точек.
Этот класс предназначен для преобразования смещений ("дельта позиций") между парами точек (например, как
offset_transformCollection): задано преобразование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()[источник]
-
Получить матрицу для аффинной части этого преобразования.
- classmatplotlib.transforms.Bbox(points, **kwargs)[источник]
-
Базовые классы:
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]])
- Параметры:
-
-
points
ndarray -
Двумерный массив NumPy формы
[[x0, y0], [x1, y1]].
-
points
- __annotations__={}
- __format__(fmt)[источник]
-
Форматирование объекта по умолчанию.
Возвращает str(self), если format_spec пустое. В противном случае поднимает TypeError.
- __init__(points, **kwargs)[источник]
-
- Параметры:
-
-
points
ndarray -
Двумерный массив NumPy формы
[[x0, y0], [x1, y1]].
-
points
- __module__='matplotlib.transforms'
- __repr__()[источник]
-
Возвращает repr(self).
- __str__()[источник]
-
Возвращает str(self).
- staticfrom_bounds(x0, y0, width, height)[источник]
-
Создаёт новый прямоугольник
Bboxиз x0, y0, width и height.width и height могут быть отрицательными.
- staticfrom_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.
- Если
- propertyintervalx
-
Пара x-координат, определяющих прямоугольник.
Это не гарантированно отсортировано слева направо.
- свойствоintervaly
-
Пара y-координат, определяющих прямоугольник.
Сортировка снизу вверх не гарантируется.
- свойствоminpos
-
Минимальное положительное значение в обоих направлениях внутри прямоугольника.
Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей запятой. Это значение будет использоваться в качестве минимального вместо p0.
- свойствоminposx
-
Минимальное положительное значение в направлении x внутри прямоугольника.
Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей запятой. Это значение будет использоваться в качестве минимального значения x вместо x0.
- свойствоminposy
-
Минимальное положительное значение в направлении y внутри прямоугольника.
Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей запятой. Это значение будет использоваться в качестве минимального значения y вместо y0.
- mutated()[исходный код]
-
Возвращает, изменился ли прямоугольник с момента инициализации.
- mutatedx()[исходный код]
-
Возвращает, изменились ли пределы по оси x с момента инициализации.
- mutatedy()[исходный код]
-
Возвращает, изменились ли пределы по оси y с момента инициализации.
- статическийnull()[исходный код]
-
Создает новый пустой прямоугольник от (беск., беск.) до (-беск., -беск.).
- свойствоp0
-
Первая пара координат (x, y), определяющих прямоугольник.
Это не гарантированно является левым нижним углом (для этого используйте
min).
- свойствоp1
-
Вторая пара координат (x, y), определяющих прямоугольник.
Это не гарантированно является правым верхним углом (для этого используйте
max).
- set(other)[исходный код]
-
Установить этот прямоугольник по «замороженным» границам другого прямоугольника.
- set_points(points)[исходный код]
-
Установить точки прямоугольника напрямую из массива NumPy вида:
[[x0, y0], [x1, y1]]. Проверка ошибок не выполняется, так как этот метод используется в основном во внутренних целях.
- статическийunit()[исходный код]
-
Создает новый единичный прямоугольник от (0, 0) до (1, 1).
- update_from_data_x(x, ignore=None)[исходный код]
-
Обновить границы прямоугольника по оси x на основе переданных данных. После обновления границы будут иметь положительную ширину, а x0 будет минимальным значением.
- Параметры:
-
-
x
ndarray -
Массив значений x.
- ignorebool, необязательно
-
- При
Trueигнорировать существующие границы прямоугольника. - При
Falseучитывать существующие границы прямоугольника. - При
Noneиспользовать последнее значение, переданное вignore().
- При
-
x
- update_from_data_xy(xy, ignore=None, updatex=True, updatey=True)[исходный код]
-
Обновить границы прямоугольника на основе переданных данных. После обновления границы будут иметь положительные ширину и высоту; x0 и y0 будут минимальными значениями.
- Параметры:
-
-
xy
ndarray -
Массив NumPy двумерных точек.
- ignorebool, необязательно
-
- При
Trueигнорировать существующие границы прямоугольника. - При
Falseучитывать существующие границы прямоугольника. - При
Noneиспользовать последнее значение, переданное вignore().
- При
- updatex, updateybool, по умолчанию: True
-
При
Trueобновить значения x/y.
-
xy
- update_from_data_y(y, ignore=None)[исходный код]
-
Обновить границы
Bboxпо оси y на основе переданных данных. После обновления границы будут иметь положительную высоту, а y0 будет минимальным значением.
- update_from_path(path, ignore=None, updatex=True, updatey=True)[исходный код]
-
Обновить границы
Bbox, чтобы они охватывали вершины переданного контура. После обновления границы будут иметь положительные ширину и высоту; x0 и y0 будут минимальными значениями.
- свойство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' — юго-запад, то есть нижний левый угол, и т. д.).
-
container
Bbox, необязательно -
Прямоугольник, внутри которого размещается
Bbox; по умолчанию это исходныйBbox.
См. также
- 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)внутри прямоугольника или на его границе.
- corners()[исходный код]
-
Возвращает углы этого прямоугольника в виде массива точек.
Точнее, возвращает массив
[[x0, y0], [x0, y1], [x1, y0], [x1, y1]].
- count_contains(vertices)[исходный код]
-
Подсчитывает количество вершин, содержащихся в
Bbox. Вершины с бесконечными значениями x или y игнорируются.- Параметры:
-
- verticesМассив NumPy размером Nx2.
- count_overlaps(bboxes)[исходный код]
-
Подсчитывает количество прямоугольников, перекрывающихся с этим прямоугольником.
- Параметры:
-
-
bboxesПоследовательность объектов
BboxBase
-
bboxesПоследовательность объектов
- expanded(sw, sh)[исходный код]
-
Создаёт
Bbox, расширяя этот прямоугольник относительно центра в sw и sh раз.
- frozen()[исходный код]
-
Базовый класс для всего, что участвует в дереве преобразований и должно аннулировать своих родителей или быть аннулированным. Это включает классы, которые на самом деле не являются преобразованиями, такие как прямоугольные области, поскольку некоторые преобразования зависят от прямоугольных областей для вычисления своих значений.
- fully_contains(x, y)[исходный код]
-
Возвращает, находится ли
x, yвнутри прямоугольной области, но не на её границе.
- fully_overlaps(other)[исходный код]
-
Возвращает, перекрывается ли эта прямоугольная область с другой прямоугольной областью, не включая грани.
- Параметры:
-
-
other
BboxBase
-
other
- get_points()[исходный код]
- propertyheight
-
Высота прямоугольной области (со знаком).
- staticintersection(bbox1, bbox2)[исходный код]
-
Возвращает пересечение bbox1 и bbox2, если они пересекаются, или None, если нет.
- propertyintervalx
-
Пара координат x, определяющих прямоугольную область.
Не гарантируется, что они отсортированы слева направо.
- propertyintervaly
-
Пара координат y, определяющих прямоугольную область.
Не гарантируется, что они отсортированы снизу вверх.
- is_affine=True
- is_bbox=True
- propertymax
-
Правый верхний угол прямоугольной области.
- propertymin
-
Левый нижний угол прямоугольной области.
- overlaps(other)[исходный код]
-
Возвращает, перекрывается ли эта прямоугольная область с другой прямоугольной областью.
- Параметры:
-
-
other
BboxBase
-
other
- propertyp0
-
Первая пара координат (x, y), определяющих прямоугольную область.
Не гарантируется, что это левый нижний угол (для этого используйте
min).
- propertyp1
-
Вторая пара координат (x, y), определяющих прямоугольную область.
Не гарантируется, что это правый верхний угол (для этого используйте
max).
- padded(p)[исходный код]
-
Создаёт
Bboxпутём добавления отступа по всем четырём сторонам этого прямоугольника на p.
- rotated(radians)[исходный код]
-
Возвращает прямоугольную область, выровненную по осям, которая ограничивает результат поворота этой
Bboxна угол radians.
- shrunk(mx, my)[исходный код]
-
Возвращает копию
Bbox, сжатую на коэффициент mx в направлении x и на коэффициент my в направлении y. Левый нижний угол прямоугольника остаётся неизменным. Обычно mx и my будут меньше 1, но это не является обязательным.
- shrunk_to_aspect(box_aspect, container=None, fig_aspect=1.0)[исходный код]
-
Возвращает копию
Bbox, уменьшенную так, чтобы она была максимально большой при заданном соотношении сторон box_aspect. Если координаты прямоугольника относительные (то есть доли от большего прямоугольника, например, фигуры), то физическое соотношение сторон этой фигуры задается с помощью fig_aspect, чтобы box_aspect можно было указать как отношение абсолютных размеров, а не относительных.
- propertysize
-
Ширина и высота (со знаком) ограничивающей рамки.
- 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
-
True, если это преобразование разделимо по осям x и y.
- classmatplotlib.transforms.BboxTransformFrom(boxin, **kwargs)[исходный код]
-
Базовые классы:
Affine2DBaseЛинейно преобразует точки из заданного
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
-
True, если это преобразование разделимо по осям x и y.
- классmatplotlib.transforms.BboxTransformTo(boxout, **kwargs)[исходный код]
-
Основания:
Affine2DBaseПреобразование, которое линейно преобразует точки из единичного прямоугольника в заданный прямоугольник
Bbox.Создает новое преобразование
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.- __annotations__={}
- __init__(boxout, **kwargs)[исходный код]
-
Создает новое преобразование
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.
- __module__='matplotlib.transforms'
- __str__()[исходный код]
-
Возвращает строковое представление объекта.
- get_matrix()[исходный код]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
Истина, если это преобразование разделимо по осям x и y.
- классmatplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs)[исходный код]
-
Основания:
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
-
Истина, если это преобразование разделимо по осям 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
-
Возвращает количество преобразований, которые были объединены для создания этого экземпляра преобразования.
Примечание
В случае составного преобразования возвращается максимальная глубина из двух.
- frozen()[исходный код]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()может обычно использоваться.
- get_affine()[исходный код]
-
Получить аффинную часть этого преобразования.
- свойствоhas_inverse
-
bool(x) -> bool
Возвращает True, если аргумент x имеет значение True, иначе 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 имеет значение True, иначе False. Встроенные значения True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- is_separable=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). Для аффинных преобразований это всегда пустая операция.- Параметры:
-
- значениямассив
-
Входные значения в виде массива NumPy длины
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива NumPy длины
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- классmatplotlib.transforms.CompositeAffine2D(a, b, **kwargs)[исходный код]
-
Основания:
Affine2DBaseСоставной преобразователь, образованный применением преобразования a, а затем преобразования b.
Этот вариант является оптимизацией, которая обрабатывает случай, когда и a, и b являются 2D-аффинными преобразованиями.
Создаёт новый составной преобразователь, являющийся результатом применения
Affine2DBasea, а затемAffine2DBaseb.Обычно этот конструктор напрямую не вызывают, а используют
a + b, который автоматически выбирает оптимальный тип создаваемого составного преобразователя.- __annotations__={}
- __init__(a, b, **kwargs)[исходный код]
-
Создаёт новый составной преобразователь, являющийся результатом применения
Affine2DBasea, а затемAffine2DBaseb.Обычно этот конструктор напрямую не вызывают, а используют
a + b, который автоматически выбирает оптимальный тип создаваемого составного преобразователя.
- __module__='matplotlib.transforms'
- __str__()[исходный код]
-
Возвращает str(self).
- свойствоdepth
-
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра преобразования.
Примечание
В случае составного преобразования возвращается максимальная глубина из двух.
- get_matrix()[исходный код]
-
Получает матрицу для аффинной части этого преобразования.
- classmatplotlib.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).- Параметры:
-
- valuesмассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_non_affine(points)[источник]
-
Применяет только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, эквивалентно
transform(values). В аффинных преобразованиях это всегда ничего не делает.- Параметры:
-
- valuesмассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- classmatplotlib.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)[источник]
-
Применить это преобразование к заданному массиву значений.
- Параметры:
-
- valuesмассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_affine(points)[источник]
-
Применить только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно ничего не делает. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- valuesмассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_non_affine(points)[источник]
-
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, эквивалентно
transform(values). В аффинных преобразованиях это всегда ничего не делает.- Параметры:
-
- valuesмассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_path(path)[источник]
-
Применить преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставлять кривые в траекторию, которая изначально состояла из отрезков прямых.
- classmatplotlib.transforms.LockableBbox(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[источник]
-
Базовые классы:
BboxBaseBbox, у которой некоторые элементы могут быть зафиксированы на определённых значениях.При изменении дочерней области границы этой области будут обновляться соответствующим образом, за исключением зафиксированных элементов.
- Параметры:
-
-
bbox
Bbox -
Дочерняя область для обёртывания.
- x0число с плавающей точкой или None
-
Зафиксированное значение для x0 или None, чтобы снять фиксацию.
- y0число с плавающей точкой или None
-
Зафиксированное значение для y0 или None, чтобы снять фиксацию.
- x1число с плавающей точкой или None
-
Зафиксированное значение для x1 или None, чтобы снять фиксацию.
- y1число с плавающей точкой или None
-
Зафиксированное значение для y1 или None, чтобы снять фиксацию.
-
bbox
- __annotations__={}
- __init__(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[источник]
-
- Параметры:
-
-
bbox
Bbox -
Дочерняя область для обёртывания.
- x0число с плавающей точкой или None
-
Зафиксированное значение для x0 или None, чтобы снять фиксацию.
- y0число с плавающей точкой или None
-
Зафиксированное значение для y0 или None, чтобы снять фиксацию.
- x1число с плавающей точкой или None
-
Зафиксированное значение для x1 или None, чтобы снять фиксацию.
- y1число с плавающей точкой или None
-
Зафиксированное значение для y1 или None, чтобы снять фиксацию.
-
bbox
- __module__='matplotlib.transforms'
- __str__()[источник]
-
Возвращает str(self).
- get_points()[источник]
- propertylocked_x0
-
число с плавающей точкой или None: значение, используемое для зафиксированного x0.
- propertylocked_x1
-
число с плавающей точкой или None: значение, используемое для зафиксированного x1.
- propertylocked_y0
-
число с плавающей точкой или None: значение, используемое для зафиксированного y0.
- propertylocked_y1
-
число с плавающей точкой или None: значение, используемое для зафиксированного y1.
- classmatplotlib.transforms.ScaledTranslation(xt, yt, scale_trans, **kwargs)[исходный код]
-
Основан на
Affine2DBaseПреобразование, которое выполняет сдвиг на xt и yt после того, как xt и yt будут преобразованы с помощью scale_trans.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения читабельности
str(transform)при DEBUG=True.
- __annotations__={}
- __init__(xt, yt, scale_trans, **kwargs)[исходный код]
-
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения читабельности
str(transform)при DEBUG=True.
- __module__='matplotlib.transforms'
- __str__()[исходный код]
-
Возвращает str(self).
- get_matrix()[исходный код]
-
Получить матрицу для аффинной части этого преобразования.
- classmatplotlib.transforms.Transform(shorthand_name=None)[исходный код]
-
Основан на
TransformNodeБазовый класс всех экземпляров
TransformNode, которые фактически выполняют преобразование.Все неаффинные преобразования должны быть подклассами этого класса. Новые аффинные преобразования должны быть подклассами
Affine2D.Подклассы этого класса должны переопределять следующие члены (как минимум):
input_dimsoutput_dimstransform()-
inverted()(если обратное преобразование существует)
Следующие атрибуты можно переопределить, если значение по умолчанию не подходит:
-
is_separable(по умолчанию True для преобразований 1D -> 1D, иначе False) -
has_inverse(по умолчанию True, если переопределёнinverted(), иначе False)
Если преобразование должно выполнять нестандартные действия с объектами
matplotlib.path.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()может отличаться на небольшую величину epsilon. -
B.inverted()всегда возвращает замороженное преобразование: если вычислитьA + B + B.inverted()и затем изменитьB, тоB.inverted()не будет обновлён, и последние два члена перестанут отменяться; с другой стороны,A + B - Bвсегда будет равноAдаже еслиBизменится.
- Она предотвращает погрешности с плавающей точкой при вычислении обратного преобразования B:
- contains_branch(other)[исходный код]
-
Возвращает True, если данное преобразование является поддеревом этого преобразования.
Эта функция использует равенство преобразований для определения поддеревьев, поэтому во многих ситуациях будет использоваться идентификатор объекта.
В случае, когда данное преобразование представляет собой всё это преобразование, возвращает True.
- contains_branch_seperately(other_transform)[исходный код]
-
Возвращает True, если данная ветвь является поддеревом этого преобразования по каждому отдельному измерению.
Общее применение этого метода — определить, является ли преобразование объединённым преобразованием, содержащим преобразование данных Axes. Пример:
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
-
Число выходных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- transform(values)[исходный код]
-
Применяет это преобразование к заданному массиву значений.
- Параметры:
-
- значениямассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от ввода.
- transform_affine(values)[исходный код]
-
Применяет только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно является операцией без действия. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- значениямассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от ввода.
- transform_angles(angles, pts, radians=False, pushoff=1e-05)[исходный код]
-
Преобразует набор углов, закреплённых в определённых точках.
- Параметры:
-
- углы(N,) array-like
-
Углы для преобразования.
- pts(N, 2) array-like
-
Точки, где углы закреплены.
- radiansbool, по умолчанию: 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 xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от ввода.
- transform_path(path)[исходный код]
-
Применяет преобразование к
Pathпути, возвращая новыйPath.В некоторых случаях это преобразование может вставить кривые в путь, который начинался как отрезки прямых.
- 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 ', '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__()[источник]
-
Вспомогательная функция для pickle.
- __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)[источник]
-
Устанавливает дочерние элементы преобразования, чтобы система аннулирования знала, какие преобразования могут аннулировать это преобразование. Должно вызываться из конструктора любых преобразований, которые зависят от других преобразований.
- класс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 и не может быть подклассифицирован.
- свойствоinput_dims
- свойство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 и не может быть подклассифицирован.
- свойствоoutput_dims
- pass_through=True
-
Если pass_through равно True, все предки всегда будут аннулированы, даже если 'self' уже аннулирован.
- set(child)[источник]
-
Заменяет текущего дочернего объекта трансформов другим.
Новый дочерний объект должен иметь такое же количество входных и выходных размерностей, как и текущий.
- классmatplotlib.transforms.TransformedBbox(bbox, transform, **kwargs)[источник]
-
Базовые классы:
BboxBaseBbox, автоматически преобразуемый заданным преобразованием. При изменении дочернего ограничивающего прямоугольника или преобразования границы этого ограничивающего прямоугольника обновляются соответствующим образом.- Параметры:
-
-
bbox
Bbox -
transform
Transform
-
bbox
- __annotations__={}
- __init__(bbox, transform, **kwargs)[источник]
-
- Параметры:
-
-
bbox
Bbox -
transform
Transform
-
bbox
- __module__='matplotlib.transforms'
- __str__()[источник]
-
Возвращает str(self).
- contains(x, y)[источник]
-
Возвращает, находится ли
(x, y)внутри прямоугольника или на его границе.
- fully_contains(x, y)[источник]
-
Возвращает, находится ли
x, yвнутри прямоугольника, но не на его границе.
- get_points()[источник]
- классmatplotlib.transforms.TransformedPatchPath(patch)[источник]
-
Базовые классы:
TransformedPathTransformedPatchPathкэширует неаффинно преобразованную копиюPatch. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования или патча.- Параметры:
-
-
patch
Patch
-
patch
- __annotations__={}
- __init__(patch)[источник]
-
- Параметры:
-
-
patch
Patch
-
patch
- __module__='matplotlib.transforms'
- классmatplotlib.transforms.TransformedPath(path, transform)[источник]
-
Базовые классы:
TransformNodeTransformedPathкэширует неаффинно преобразованную копиюPath. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования.Примечание
Пути считаются неизменяемыми этим классом. Любое обновление вершин/кодов пути не вызовет пересчета преобразования.
- Параметры:
-
-
path
Path -
transform
Transform
-
path
- __annotations__={}
- __init__(path, transform)[источник]
-
- Параметры:
-
-
path
Path -
transform
Transform
-
path
- __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')[исходный код]
-
Возвращает новое преобразование с добавленным смещением.
- Параметры:
-
-
trans
Transformподкласс -
Любое преобразование, к которому будет применено смещение.
-
fig
Figure, по умолчанию: None -
Текущая фигура. Может быть None, если units равен 'dots'.
- x, yfloat, по умолчанию: 0.0
-
Применяемое смещение.
- units{'pixels', 'points', 'inches'}, по умолчанию: 'inches'
-
Единицы измерения смещения.
-
trans
- Возвращаемое значение:
-
-
Transformподкласс -
Преобразование с примененным смещением.
-
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/transformations.html