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, инициализировать с тождественной трансформацией.
- clear()[исходный код]
-
Сбросить базовую матрицу до тождественной трансформации.
- staticfrom_values(a, b, c, d, e, f)[исходный код]
-
Создать новый экземпляр Affine2D из заданных значений:
a c e b d f 0 0 1
.
- get_matrix()[исходный код]
-
Получить базовую матрицу преобразования в виде массива 3x3:
a c e b d f 0 0 1
.
- rotate(theta)[исходный код]
-
Добавить вращение (в радианах) к этой трансформации на месте.
Возвращает self, поэтому этот метод можно легко использовать в цепочке с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- rotate_around(x, y, theta)[исходный код]
-
Добавить вращение (в радианах) вокруг точки (x, y) на месте.
Возвращает self, поэтому этот метод можно легко использовать в цепочке с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- rotate_deg(degrees)[исходный код]
-
Добавить вращение (в градусах) к этой трансформации на месте.
Возвращает self, поэтому этот метод можно легко использовать в цепочке с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- rotate_deg_around(x, y, degrees)[исходный код]
-
Добавить вращение (в градусах) вокруг точки (x, y) на месте.
Возвращает self, поэтому этот метод можно легко использовать в цепочке с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- scale(sx, sy=None)[исходный код]
-
Добавить масштабирование на месте.
Если sy равно None, одинаковый масштаб применяется по обеим осям x и y.
Возвращает self, поэтому этот метод можно легко использовать в цепочке с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- set(other)[исходный код]
-
Установить эту трансформацию из неизменяемой копии другого объекта
Affine2DBase.
- set_matrix(mtx)[исходный код]
-
Установить базовую матрицу преобразования из массива 3x3:
a c e b d f 0 0 1
.
- skew(xShear, yShear)[исходный код]
-
Добавить сдвиг на месте.
xShear и yShear — углы сдвига по осям x и y соответственно в радианах.
Возвращает self, поэтому этот метод можно легко использовать в цепочке с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- skew_deg(xShear, yShear)[исходный код]
-
Добавить сдвиг на месте.
xShear и yShear — углы сдвига вдоль осей x и y соответственно в градусах.
Возвращает self, поэтому этот метод можно легко объединить с дополнительными вызовами
rotate(),rotate_deg(),translate()иscale().
- translate(tx, ty)[исходный код]
-
Добавить сдвиг на месте.
Возвращает self, поэтому этот метод можно легко объединить с дополнительными вызовами
rotate(),rotate_deg(),translate()иscale().
- classmatplotlib.transforms.Affine2DBase(*args, **kwargs)[исходный код]
-
Базовый класс всех 2D аффинных преобразований.
2D аффинные преобразования выполняются с использованием массива numpy 3x3:
a c e b d f 0 0 1
Этот класс предоставляет только интерфейс для чтения. Для изменяемого 2D аффинного преобразования используйте
Affine2D.Подклассы этого класса, как правило, будут нуждаться только в переопределении конструктора и
get_matrix, который генерирует пользовательскую матрицу 3x3.- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
- frozen()[исходный код]
-
Возвращает замороженную копию этого преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()обычно используется.
- has_inverse=True
-
True, если у этого преобразования есть соответствующее обратное преобразование.
- input_dims=2
-
Количество входных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- inverted()[исходный код]
-
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его обратной копии.
- propertyis_separable
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool — подкласс класса int и не может быть подклассом.
- output_dims=2
-
Количество выходных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- to_values()[исходный код]
-
Возвращает значения матрицы в виде
(a, b, c, d, e, f)кортежа.
- transform_affine(values)[исходный код]
-
Применяет только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, ничто. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- valuesarray
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращает:
-
- array
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- классmatplotlib.transforms.AffineBase(*args, **kwargs)[исходный код]
-
Базовый класс всех аффинных преобразований любого числа измерений.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
- get_affine()[исходный код]
-
Получить аффинную часть этого преобразования.
- is_affine=True
- transform(values)[исходный код]
-
Применить это преобразование к заданному массиву значений.
- Параметры:
-
- valuesarray-like
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_affine(values)[исходный код]
-
Применить только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно является операцией без действия. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- valuesмассив
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_non_affine(values)[исходный код]
-
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, эквивалентно
transform(values). В аффинных преобразованиях это всегда операция без действия.- Параметры:
-
- valuesмассив
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_path(path)[исходный код]
-
Применить преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставить кривые в траекторию, которая начиналась как отрезки прямых.
- классmatplotlib.transforms.AffineDeltaTransform(transform, **kwargs)[исходный код]
-
Обёртка преобразования для преобразования смещений между парами точек.
Этот класс предназначен для преобразования смещений («смещений положения») между парами точек (например, как
offset_transformCollection): задано преобразованиеt, таким образом,t = AffineDeltaTransform(t) + offset,AffineDeltaTransformудовлетворяетAffineDeltaTransform(a - b) == AffineDeltaTransform(a) - AffineDeltaTransform(b).Это реализуется путём принудительного обнуления компонентов смещения матрицы преобразования.
Этот класс является экспериментальным начиная с версии 3.3, и API может измениться.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
- get_matrix()[исходный код]
-
Получить матрицу для аффинной части этого преобразования.
- классmatplotlib.transforms.Bbox(points, **kwargs)[исходный код]
-
Базовые классы:
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 -
Массив (2, 2) вида
[[x0, y0], [x1, y1]].
-
points
- статическийfrom_bounds(x0, y0, width, height)[исходный код]
-
Создаёт новый
Bboxиз x0, y0, width и height.width и height могут быть отрицательными.
- статическийfrom_extents(*args, minpos=None)[исходный код]
-
Создаёт новый прямоугольник из left, bottom, right и top.
Ось y возрастает вверх.
- Параметры:
-
- left, bottom, right, topfloat
-
Четыре границы прямоугольника.
- minposfloat или None
-
Если указано, прямоугольник получит минимальное положительное значение. Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей точкой.
- frozen()[исходный код]
-
Базовый класс для всего, что участвует в дереве преобразований и должно инвалидировать своих родителей или быть инвалидированным. Это включает классы, которые фактически не являются преобразованиями, такие как прямоугольники, так как некоторые преобразования зависят от прямоугольников для вычисления своих значений.
- get_points()[исходный код]
-
Получить точки прямоугольника как массив вида
[[x0, y0], [x1, y1]].
- ignore(value)[исходный код]
-
Установить, игнорировать ли существующие границы прямоугольника последующими вызовами
update_from_data_xy().- valuebool
-
- При
True, последующие вызовыupdate_from_data_xyбудут игнорировать существующие границы прямоугольника. - При
False, последующие вызовыupdate_from_data_xyбудут включать существующие границы прямоугольника.
- При
- свойствоintervalx
-
Пара x-координат, определяющих прямоугольник.
Не гарантируется, что они отсортированы слева направо.
- свойствоintervaly
-
Пара y-координат, определяющих прямоугольник.
Не гарантируется, что они отсортированы снизу вверх.
- свойствоminpos
-
Минимальное положительное значение в обоих направлениях внутри прямоугольника.
Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей точкой, и будет использоваться как минимальный экстент вместо p0.
- свойствоminposx
-
Минимальное положительное значение по x-направлению внутри прямоугольника.
Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей точкой, и будет использоваться как минимальный x-экстент вместо x0.
- свойствоminposy
-
Минимальное положительное значение по y-направлению внутри прямоугольника.
Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей точкой, и будет использоваться как минимальный y-экстент вместо y0.
- mutated()[исходный код]
-
Возвращает, изменился ли прямоугольник со времени инициализации.
- mutatedx()[исходный код]
-
Возвращает, изменились ли границы по x со времени инициализации.
- mutatedy()[исходный код]
-
Возвращает, изменились ли границы по y со времени инициализации.
- staticnull()[исходный код]
-
Создать новый нулевой прямоугольник
Bboxот (бесконечность, бесконечность) до (-бесконечность, -бесконечность).
- propertyp0
-
Первая пара координат (x, y), определяющих прямоугольник.
Это не гарантированно будет нижний левый угол (для этого используйте
min).
- propertyp1
-
Вторая пара координат (x, y), определяющих прямоугольник.
Это не гарантированно будет верхний правый угол (для этого используйте
max).
- set(other)[исходный код]
-
Установить этот прямоугольник по "замороженным" границам другого
Bbox.
- set_points(points)[исходный код]
-
Установить точки прямоугольника напрямую из массива вида
[[x0, y0], [x1, y1]]. Проверка ошибок не выполняется, так как этот метод в основном предназначен для внутреннего использования.
- staticunit()[исходный код]
-
Создать новый единичный прямоугольник
Bboxот (0, 0) до (1, 1).
- update_from_data_x(x, ignore=None)[исходный код]
-
Обновить границы по x прямоугольника
Bboxна основе переданных данных. После обновления границы будут иметь положительную ширину, а x0 — минимальное значение.
- update_from_data_xy(xy, ignore=None, updatex=True, updatey=True)[исходный код]
-
Обновить границы прямоугольника
Bboxна основе переданных координат xy.После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.
- Параметры:
-
- xy(N, 2) array-like
-
Координаты (x, y).
- ignorebool, необязательно
- updatex, updateybool, по умолчанию: True
-
При
True, обновить значения x/y.
- update_from_data_y(y, ignore=None)[исходный код]
-
Обновить границы по y прямоугольника
Bboxна основе переданных данных. После обновления границы будут иметь положительную высоту, а y0 — минимальное значение.
- update_from_path(path, ignore=None, updatex=True, updatey=True)[исходный код]
-
Обновить границы
Bboxтак, чтобы они содержали вершины заданного пути. После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.
- propertyx0
-
Первая из пары координат x, определяющих прямоугольник.
Не гарантируется, что будет меньше
x1(для этого используйтеxmin).
- propertyx1
-
Вторая из пары координат x, определяющих прямоугольник.
Не гарантируется, что будет больше
x0(для этого используйтеxmax).
- propertyy0
-
Первая из пары координат y, определяющих прямоугольник.
Не гарантируется, что будет меньше
y1(для этого используйтеymin).
- propertyy1
-
Вторая из пары координат y, определяющих прямоугольник.
Не гарантируется, что будет больше
y0(для этого используйтеymax).
- classmatplotlib.transforms.BboxBase(shorthand_name=None)[исходный код]
-
Базовые классы:
TransformNodeБазовый класс всех ограничивающих прямоугольников.
Этот класс неизменяемый;
Bbox— это изменяемый подкласс.Каноническое представление — это две точки без ограничений на их порядок. Предоставляются удобные свойства для получения левой, нижней, правой и верхней границ, а также ширины и высоты, но они не хранятся явно.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
- anchored(c, container=None)[исходный код]
-
Возвращает копию
Bbox, привязанную к c в пределах container.- Параметры:
-
- c(float, float) или {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}
-
Пара (x, y) относительных координат (0 — слева или снизу, 1 — справа или сверху), 'C' (центр) или направление по сторонам света ('SW' — юго-запад, это нижний левый угол и т. д.).
-
container
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(N, 2) массив
- count_overlaps(bboxes)[исходный код]
-
Подсчитывает количество прямоугольников, которые перекрываются с этим прямоугольником.
- Параметры:
-
-
bboxesпоследовательность
BboxBase
-
bboxesпоследовательность
- expanded(sw, sh)[исходный код]
-
Создает
Bbox, расширяя этот прямоугольник вокруг центра на коэффициенты sw и sh.
- frozen()[исходный код]
-
Базовый класс для всего, что участвует в дереве преобразований и нуждается в обновлении своих родителей или в обновлении.
Это включает классы, которые на самом деле не являются преобразованиями, такие как ограничивающие прямоугольники, поскольку некоторые преобразования зависят от ограничивающих прямоугольников для вычисления своих значений.
- fully_contains(x, y)[исходный код]
-
Возвращает, находится ли
x, yвнутри ограничивающего прямоугольника, но не на его границе.
- fully_containsx(x)[исходный код]
-
Возвращает значение истины, если x находится в открытом интервале (
x0,x1).
- fully_containsy(y)[исходный код]
-
Возвращает значение истины, если y находится в открытом интервале (
y0,y1).
- 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(w_pad, h_pad=None)[исходный код]
-
Создает
Bboxпутём добавления отступа со всех четырёх сторон к этому прямоугольнику.- Параметры:
-
- w_padfloat
-
Отступ по ширине
- h_padfloat, необязательно
-
Отступ по высоте. По умолчанию равен w_pad.
- rotated(radians)[исходный код]
-
Возвращает прямоугольник, ограниченный результатом поворота этого
Bboxна угол radians.
- shrunk(mx, my)[исходный код]
-
Возвращает копию
Bbox, сжатую на коэффициент mx по оси x и коэффициент my по оси y. Левый нижний угол прямоугольника остаётся неизменным. Обычно mx и my будут меньше 1, но это не является обязательным.
- shrunk_to_aspect(box_aspect, container=None, fig_aspect=1.0)[исходный код]
-
Возвращает копию
Bbox, сжатую до желаемого соотношения сторон, box_aspect. Если координаты прямоугольника относительные (т.е. доли от большего прямоугольника, например, фигуры), то физическое соотношение сторон этой фигуры задаётся параметром fig_aspect, так что box_aspect можно задавать как отношение абсолютных размеров, а не относительных.
- propertysize
-
Ширина и высота прямоугольника (со знаком).
- 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)[исходный код]
-
Базовые классы:
Affine2DBaseBboxTransformлинейно преобразует точки из одной области, ограниченной прямоугольником, в другую.Создаёт новый
BboxTransform, который линейно преобразует точки из boxin в boxout.- get_matrix()[исходный код]
-
Получает матрицу для аффинной части этого преобразования.
- is_separable=True
-
True, если это преобразование разделимо по осям x и y.
- классmatplotlib.transforms.BboxTransformFrom(boxin, **kwargs)[исходный код]
-
Базовые классы:
Affine2DBaseBboxTransformFromлинейно преобразует точки из заданногоBboxв единичный прямоугольник.- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
- get_matrix()[исходный код]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
True, если это преобразование разделимо по осям x и y.
- классmatplotlib.transforms.BboxTransformTo(boxout, **kwargs)[исходный код]
-
Базовые классы:
Affine2DBaseBboxTransformTo— это преобразование, которое линейно преобразует точки из единичного прямоугольника в заданныйBbox.Создать новое
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.- get_matrix()[исходный код]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
True, если это преобразование разделимо по осям x и y.
- классmatplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs)[исходный код]
-
Базовые классы:
BboxTransformToBboxTransformTo— это преобразование, которое линейно преобразует точки из единичного прямоугольника в заданныйBboxс фиксированным верхним левым углом (0, 0).Создать новое
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.- get_matrix()[исходный код]
-
Получить матрицу для аффинной части этого преобразования.
- классmatplotlib.transforms.BlendedAffine2D(x_transform, y_transform, **kwargs)[исходный код]
-
Базовые классы:
_BlendedMixin,Affine2DBase«Смешанное» преобразование использует одно преобразование для оси x и другое преобразование для оси y.
Этот вариант является оптимизацией для случая, когда оба дочерних преобразования являются типа
Affine2DBase.Создать новое «смешанное» преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
И x_transform, и y_transform должны быть 2D-аффинными преобразованиями.
Как правило, вы не будете вызывать этот конструктор напрямую, а воспользуетесь функцией
blended_transform_factory, которая может автоматически определить, какой тип смешанного преобразования создать.- get_matrix()[исходный код]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
True, если это преобразование разделимо по осям x и y.
- classmatplotlib.transforms.BlendedGenericTransform(x_transform, y_transform, **kwargs)[source]
-
Базовые классы:
_BlendedMixin,TransformАффинное преобразование, использующее одно преобразование для оси x и другое для оси y.
Этот «обобщенный» вариант может обрабатывать любые заданные дочерние преобразования в направлениях x и y.
Создаёт новое аффинное преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Как правило, вы не будете вызывать этот конструктор напрямую, а будете использовать функцию
blended_transform_factory, которая может автоматически определить, какой вид смешанного преобразования создать.- contains_branch(other)[source]
-
Возвращает значение, указывающее, является ли заданное преобразование поддеревом этого преобразования.
Эта функция использует равенство преобразований для определения поддеревьев, поэтому во многих ситуациях будет использоваться идентификатор объекта.
В случае, когда заданное преобразование представляет собой всё это преобразование, возвращает True.
- propertydepth
-
Возвращает количество преобразований, которые были объединены для формирования этого объекта преобразования.
Примечание
В случае специального преобразования Composite возвращается максимальная глубина из двух.
- frozen()[source]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()может быть обычно использован.
- get_affine()[source]
-
Получить аффинную часть этого преобразования.
- propertyhas_inverse
-
bool(x) -> bool
Возвращает True, если аргумент x истинный, и False в противном случае. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
- input_dims=2
-
Число входных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- inverted()[source]
-
Возвращает соответствующее обратное преобразование.
Он хранит
x == self.inverted().transform(self.transform(x)).Результат работы этого метода следует рассматривать как временный. Обновление self не приводит к соответствующему обновлению его инвертированной копии.
- propertyis_affine
-
bool(x) -> bool
Возвращает True, если аргумент x истинный, и False в противном случае. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
- is_separable=True
-
True, если это преобразование разделяемо по измерениям x и y.
- output_dims=2
-
Число выходных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- pass_through=True
-
Если pass_through равно True, все предки будут всегда аннулироваться, даже если 'self' уже аннулирован.
- transform_non_affine(values)[source]
-
Применяет только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно эквивалентно
transform(values). В аффинных преобразованиях это всегда недействие.- Параметры:
-
- valuesмассив
-
Входящие значения как массив длины
input_dimsили форма (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения как массив длины
output_dimsили форма (N,output_dims), в зависимости от входных данных.
- classmatplotlib.transforms.CompositeAffine2D(a, b, **kwargs)[source]
-
Базовые классы:
Affine2DBaseСоставное преобразование, образованное применением преобразования a, а затем преобразования b.
Этот вариант — оптимизация, которая обрабатывает случай, когда оба a и b являются 2D-аффинными преобразованиями.
Создаёт новое составное преобразование, которое является результатом применения
Affine2DBasea, а затемAffine2DBaseb.Как правило, вы не будете вызывать этот конструктор напрямую, а напишете
a + bвместо этого, что автоматически выберет лучший вид экземпляра составного преобразования для создания.- propertydepth
-
Возвращает количество преобразований, которые были объединены для формирования этого объекта преобразования.
Примечание
В случае специального преобразования Composite возвращается максимальная глубина из двух.
- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- classmatplotlib.transforms.CompositeGenericTransform(a, b, **kwargs)[source]
-
Базовые классы:
TransformСоставной преобразователь, образованный применением преобразователя a, а затем преобразователя b.
Этот «обобщённый» вариант может обрабатывать любые два произвольных преобразования.
Создаёт новый составной преобразователь, являющийся результатом применения преобразователя a, а затем преобразователя b.
Обычно вы не будете вызывать этот конструктор напрямую, но напишете
a + bвместо этого, что автоматически выберет лучший вид экземпляра составного преобразователя для создания.- propertydepth
-
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра преобразователя.
Примечание
В случае специального преобразования Composite возвращается максимальная глубина из двух.
- frozen()[source]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, когда
copy.deepcopy()обычно может использоваться.
- get_affine()[source]
-
Получить аффинную часть этого преобразования.
- propertyhas_inverse
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассирован.
- inverted()[source]
-
Возвращает соответствующее обратное преобразование.
Он содержит
x == self.inverted().transform(self.transform(x)).Значение, возвращаемое этим методом, следует рассматривать как временное. Обновление self не вызывает соответствующее обновление его инвертированной копии.
- propertyis_affine
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассирован.
- propertyis_separable
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассирован.
- pass_through=True
-
Если pass_through равен True, все предки всегда будут недействительными, даже если 'self' уже недействителен.
- transform_affine(values)[source]
-
Применить только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, бесполезная операция. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- valuesмассив
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_non_affine(values)[source]
-
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, эквивалентно
transform(values). В аффинных преобразованиях это всегда бесполезная операция.- Параметры:
-
- valuesмассив
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- классmatplotlib.transforms.IdentityTransform(*args, **kwargs)[исходный код]
-
Базовые классы:
Affine2DBaseСпециальный класс, который выполняет операцию тождественного преобразования очень быстро.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме повышения читабельности
str(transform)при DEBUG=True.
- frozen()[исходный код]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()обычно может использоваться.
- get_affine()[исходный код]
-
Получить аффинную часть этого преобразования.
- get_matrix()[исходный код]
-
Получить матрицу для аффинной части этого преобразования.
- inverted()[исходный код]
-
Возвращает соответствующее обратное преобразование.
В ней хранится
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не приводит к соответствующему обновлению его инвертированной копии.
- transform(values)[исходный код]
-
Применить это преобразование к заданному массиву values.
- Параметры:
-
- valuesмассивоподобный объект
-
Входные значения как массив длины
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения как массив длины
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_affine(values)[исходный код]
-
Применить только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно является пустой операцией. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- valuesмассив
-
Входные значения как массив длины
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения как массив длины
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_non_affine(values)[исходный код]
-
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно эквивалентно
transform(values). В аффинных преобразованиях это всегда пустая операция.- Параметры:
-
- valuesмассив
-
Входные значения как массив длины
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения как массив длины
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_path(path)[исходный код]
-
Применить преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставить кривые в путь, который начинался как отрезки прямых.
- классmatplotlib.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
- get_points()[исходный код]
- свойствоlocked_x0
-
вещественное число или None: значение, используемое для зафиксированного x0.
- свойствоlocked_x1
-
вещественное число или None: значение, используемое для зафиксированного x1.
- свойствоlocked_y0
-
вещественное число или None: значение, используемое для зафиксированного y0.
- свойствоlocked_y1
-
вещественное число или None: значение, используемое для зафиксированного y1.
- классmatplotlib.transforms.ScaledTranslation(xt, yt, scale_trans, **kwargs)[исходный код]
-
Базовые классы:
Affine2DBaseПреобразование, которое перемещает на xt и yt после того, как xt и yt были преобразованы с помощью scale_trans.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме улучшения читаемости
str(transform)при DEBUG=True.
- get_matrix()[исходный код]
-
Получить матрицу для аффинной части этого преобразования.
- классmatplotlib.transforms.Transform(shorthand_name=None)[исходный код]
-
Базовые классы:
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)).
- __sub__(other)[исходный код]
-
Комбинирует self с обратным преобразованием other, отменяя совпадающие элементы, если таковые имеются:
# In general: A - B == A + B.inverted() # (but see note regarding frozen transforms below). # If A "ends with" B (i.e. A == A' + B for some A') we can cancel # out B: (A' + B) - B == A' # Likewise, if B "starts with" A (B = A + B'), we can cancel out A: A - (A + B') == B'.inverted() == B'^-1
Отмена (вместо простого возврата
A + B.inverted()) важна по нескольким причинам:- Это предотвращает ошибки с плавающей запятой при вычислении обратного преобразования B:
B - Bгарантированно будет полностью отменён (результатом будет тождественное преобразование), тогда какB + B.inverted()может отличаться на небольшую величину эпсилон. -
B.inverted()всегда возвращает замороженное преобразование: если вычислитьA + B + B.inverted(), а затем изменитьB, тоB.inverted()не будет обновлён, и последние два члена больше не будут сокращаться; с другой стороны,A + B - Bвсегда будет равноA, даже еслиBизменяется.
- Это предотвращает ошибки с плавающей запятой при вычислении обратного преобразования B:
- contains_branch(other)[исходный код]
-
Возвращает, является ли данное преобразование поддеревом этого преобразования.
Эта функция использует равенство преобразований для идентификации поддеревьев, поэтому во многих ситуациях будет использоваться идентификатор объекта.
Если данное преобразование представляет собой всё это преобразование, возвращает True.
- contains_branch_seperately(other_transform)[исходный код]
-
Возвращает, является ли данное поддерево поддеревом этого преобразования для каждого измерения по отдельности.
Этот метод часто используют, чтобы определить, является ли преобразование смешанным и содержит ли оно преобразование данных осей. Например:
x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
- свойствоdepth
-
Возвращает количество преобразований, объединённых для формирования этого экземпляра Transform.
Примечание
В особом случае с составным преобразованием возвращается максимальная глубина двух преобразований.
- get_affine()[исходный код]
-
Получает аффинную часть этого преобразования.
- get_matrix()[исходный код]
-
Возвращает матрицу аффинной части этого преобразования.
- has_inverse=False
-
True, если у этого преобразования есть соответствующее обратное преобразование.
- input_dims=None
-
Количество входных измерений этого преобразования. Должно быть переопределено в подклассе целыми числами.
- inverted()[исходный код]
-
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Значение, возвращаемое этим методом, следует рассматривать как временное. Обновление self не вызывает соответствующего обновления его обратной копии.
- is_separable=False
-
True, если это преобразование разделимо по осям x и y.
- output_dims=None
-
Количество выходных измерений этого преобразования. Должно быть переопределено в подклассе целыми числами.
- transform(values)[исходный код]
-
Применяет это преобразование к заданному массиву значений.
- Параметры:
-
- valuesмассивоподобный объект
-
Входные значения в виде массива длины
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива длины
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_affine(values)[source]
-
Применить только аффинную часть этого преобразования к данному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно операция без действия. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- valuesarray
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращает:
-
- array
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_angles(angles, pts, radians=False, pushoff=1e-05)[source]
-
Преобразовать набор углов, привязанных к определенным местоположениям.
- Параметры:
-
- angles(N,) array-like
-
Углы для преобразования.
- pts(N, 2) array-like
-
Точки, в которых прикреплены углы.
- radiansbool, default: False
-
Заданы ли angles в радианах или градусах.
- pushofffloat
-
Для каждой точки в pts и угла в angles преобразованный угол вычисляется путем преобразования сегмента длиной pushoff, начинающегося в этой точке и образующего этот угол относительно горизонтальной оси, и измерения угла между горизонтальной осью и преобразованным сегментом.
- Возвращает:
-
- (N,) array
- transform_bbox(bbox)[source]
-
Преобразовать заданный ограничивающий прямоугольник.
Для более сложных преобразований, включая кэширование (распространенное требование в Matplotlib), см.
TransformedBbox.
- transform_non_affine(values)[source]
-
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно эквивалентно
transform(values). В аффинных преобразованиях это всегда операция без действия.- Параметры:
-
- valuesarray
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращает:
-
- array
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_path(path)[source]
-
Применить преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставлять кривые в путь, который начинался как отрезки линии.
- transform_path_affine(path)[source]
-
Применить аффинную часть этого преобразования к
Pathpath, возвращая новыйPath.transform_path(path)эквивалентноtransform_path_affine(transform_path_non_affine(values)).
- transform_path_non_affine(path)[source]
-
Применить неаффинную часть этого преобразования к
Pathpath, возвращая новыйPath.transform_path(path)эквивалентноtransform_path_affine(transform_path_non_affine(values)).
- transform_point(point)[source]
-
Возвращает преобразованную точку.
Эта функция сохраняется только для обратной совместимости; более общий метод
transformспособен преобразовывать как список точек, так и одну точку.Точка задается как последовательность длиной
input_dims. Преобразованная точка возвращается как последовательность длинойoutput_dims.
- classmatplotlib.transforms.TransformNode(shorthand_name=None)[source]
-
Базовые классы:
objectБазовый класс для всего, что участвует в дереве преобразований и должно делать свои родительские элементы недействительными или быть отмечено как недействительное. Это включает классы, которые на самом деле не являются преобразованиями, такие как ограничивающие прямоугольники, поскольку некоторые преобразования зависят от ограничивающих прямоугольников для вычисления своих значений.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
- INVALID=3
- INVALID_AFFINE=2
- INVALID_NON_AFFINE=1
- frozen()[source]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()обычно используется.
- invalidate()[source]
-
Делает этот
TransformNodeнедействительным и инициирует аннулирование предков. Должно вызываться всякий раз, когда преобразование изменяется.
- is_affine=False
- is_bbox=False
- pass_through=False
-
Если pass_through имеет значение True, все предки всегда будут отмечены как недействительные, даже если «self» уже недействителен.
- set_children(*children)[source]
-
Устанавливает дочерние элементы преобразования, чтобы система аннулирования знала, какие преобразования могут сделать это преобразование недействительным. Должно вызываться из конструктора любых преобразований, которые зависят от других преобразований.
- classmatplotlib.transforms.TransformWrapper(child)[source]
-
Базовые классы:
TransformВспомогательный класс, который хранит единственное дочернее преобразование и действует аналогично ему.
Это полезно, если узел дерева преобразований необходимо заменить во время выполнения преобразованием другого типа. Этот класс позволяет этому замещению правильно инициировать аннулирование.
Экземпляры
TransformWrapperдолжны иметь одинаковые входные и выходные размеры на протяжении всего их жизненного цикла, поэтому дочернее преобразование может быть заменено только другим дочерним преобразованием с теми же размерами.child: Экземпляр
Transform. Это дочернее преобразование позже может быть заменено с помощьюset().- frozen()[source]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()обычно используется.
- propertyhas_inverse
-
bool(x) -> bool
Возвращает True, если аргумент x истинный, в противном случае False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
- propertyinput_dims
- propertyis_affine
-
bool(x) -> bool
Возвращает True, если аргумент x истинный, в противном случае False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
- propertyis_separable
-
bool(x) -> bool
Возвращает True, если аргумент x истинный, в противном случае False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
- propertyoutput_dims
- pass_through=True
-
Если pass_through имеет значение True, все предки всегда будут отмечены как недействительные, даже если «self» уже недействителен.
- set(child)[source]
-
Заменяет текущее дочернее преобразование другим.
Новый дочерний элемент должен иметь такое же количество входных и выходных размеров, что и текущий.
- classmatplotlib.transforms.TransformedBbox(bbox, transform, **kwargs)[source]
-
Базовые классы:
BboxBaseBbox, автоматически преобразуемый заданным преобразованием. При изменении дочернего ограничивающего прямоугольника или преобразования границы этого ограничивающего прямоугольника обновляются соответствующим образом.- Параметры:
-
-
bbox
Bbox -
transform
Transform
-
bbox
- contains(x, y)[source]
-
Возвращает, находится ли
(x, y)внутри области или на её границе.
- fully_contains(x, y)[source]
-
Возвращает, находится ли
x, yполностью внутри области, но не на её границе.
- get_points()[source]
- classmatplotlib.transforms.TransformedPatchPath(patch)[source]
-
Базовые классы:
TransformedPathTransformedPatchPathкэширует копиюPatch, преобразованную неаффинной частью преобразования. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования или объектаPatch.- Параметры:
-
-
patch
Patch
-
patch
- classmatplotlib.transforms.TransformedPath(path, transform)[source]
-
Базовые классы:
TransformNodeTransformedPathкэширует копиюPath, преобразованную неаффинной частью преобразования. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования.Примечание
Объекты
Pathсчитаются неизменяемыми этим классом. Любые изменения вершин/кодов пути не вызовут перерасчёта преобразования.- Параметры:
-
-
path
Path -
transform
Transform
-
path
- get_affine()[source]
- get_fully_transformed_path()[source]
-
Возвращает полностью преобразованную копию пути.
- get_transformed_path_and_affine()[source]
-
Возвращает копию пути, с уже применённой неаффинной частью преобразования, вместе с аффинной частью преобразования, необходимой для завершения преобразования.
- get_transformed_points_and_affine()[source]
-
Возвращает копию пути, с уже применённой неаффинной частью преобразования, вместе с аффинной частью преобразования, необходимой для завершения преобразования. В отличие от
get_transformed_path_and_affine(), интерполяция не будет выполнена.
- matplotlib.transforms.blended_transform_factory(x_transform, y_transform)[source]
-
Создаёт новое «смешанное» преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Возвращает более быструю версию смешанного преобразования, если оба подчинённых преобразования аффинные.
- matplotlib.transforms.composite_transform_factory(a, b)[исходный код]
-
Создаёт новое составное преобразование, которое является результатом применения преобразования a, а затем преобразования b.
Короткие версии смешанного преобразования предоставлены для случая, когда оба подчинённых преобразования аффинные, или одно из них – тождественное преобразование.
Составные преобразования также могут быть созданы с помощью оператора '+', например:
c = a + b
- matplotlib.transforms.interval_contains(interval, val)[исходный код]
-
Проверка, включает ли интервал заданное значение.
- Параметры:
-
- interval(float, float)
-
Конечные точки интервала.
- valfloat
-
Значение, которое нужно проверить на принадлежность интервалу.
- Возвращаемое значение:
-
- bool
-
Принадлежит ли val интервалу interval.
- matplotlib.transforms.interval_contains_open(interval, val)[исходный код]
-
Проверка, включает ли интервал заданное значение, исключая граничные точки.
- Параметры:
-
- interval(float, float)
-
Конечные точки интервала.
- valfloat
-
Значение, которое нужно проверить на принадлежность интервалу.
- Возвращаемое значение:
-
- bool
-
Принадлежит ли val интервалу interval.
- matplotlib.transforms.nonsingular(vmin, vmax, expander=0.001, tiny=1e-15, increasing=True)[исходный код]
-
Модифицирует конечные точки диапазона для избежания особенностей.
- Параметры:
-
- vmin, vmaxfloat
-
Начальные конечные точки.
- expanderfloat, по умолчанию: 0.001
-
Доля, на которую vmin и vmax расширяются, если исходный интервал слишком мал, в зависимости от tiny.
- tinyfloat, по умолчанию: 1e-15
-
Порог для отношения интервала к максимальному абсолютному значению его конечных точек. Если интервал меньше этого значения, он будет расширен. Это значение должно быть около 1e-15 или больше; в противном случае интервал будет приближаться к пределу разрешения двойной точности.
- increasingbool, по умолчанию: True
-
Если True, переставляет vmin, vmax, если vmin > vmax.
- Возвращаемое значение:
-
- vmin, vmaxfloat
-
Конечные точки, расширенные и/или переставленные, если необходимо. Если какой-либо из входов равен inf или NaN, или если оба входа равны 0 или очень близки к нулю, возвращает -expander, expander.
- matplotlib.transforms.offset_copy(trans, fig=None, x=0.0, y=0.0, units='inches')[исходный код]
-
Возвращает новое преобразование с добавленным смещением.
- Параметры:
-
-
trans
Transformподкласс -
Любое преобразование, к которому будет применено смещение.
-
fig
Figure, по умолчанию: None -
Текущая фигура. Может быть None, если units — 'dots'.
- x, yfloat, по умолчанию: 0.0
-
Смещение, которое нужно применить.
- units{'inches', 'points', 'dots'}, по умолчанию: 'inches'
-
Единицы смещения.
-
trans
- Возвращаемое значение:
-
-
Transformподкласс -
Преобразование с применённым смещением.
-
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.8.4/api/transformations.html