matplotlib.transforms
В Matplotlib реализован механизм произвольных геометрических преобразований, используемый для определения окончательного расположения всех элементов, нарисованных на холсте.
Преобразования формируются в деревьях объектов TransformNode, чьи фактические значения зависят от их потомков. При изменении содержимого потомков их родительские преобразования автоматически аннулируются. При следующем обращении к аннулированному преобразованию оно пересчитывается, чтобы отразить эти изменения. Этот подход с аннулированием/кешированием предотвращает ненужные пересчёты преобразований и способствует лучшей интерактивной производительности.
Например, вот граф дерева преобразований, используемого для отображения данных на графике:
Механизм может использоваться как для аффинных, так и для неаффинных преобразований. Однако для повышения скорости мы хотим использовать бэкенд-рендеры для выполнения аффинных преобразований по возможности. Поэтому возможно выполнить только аффинную или неаффинную часть преобразования над набором данных. Аффинное преобразование всегда предполагается выполняющимся после неаффинного. Для любого преобразования:
full transform == non-affine part + affine part
Бэкенды не должны обрабатывать неаффинные преобразования самостоятельно.
Обратитесь к учебнику Учебник по преобразованиям для примеров использования преобразований.
- classmatplotlib.transforms.Affine2D(matrix=None, **kwargs)[source]
-
Bases:
Affine2DBaseИзменяемая 2D аффинная трансформация.
Инициализировать аффинную трансформацию из 3x3 массива numpy с плавающей точкой:
a c e b d f 0 0 1
Если matrix равно None, инициализировать с тождественной трансформацией.
- clear()[source]
-
Сбросить базовую матрицу до тождественной трансформации.
- staticfrom_values(a, b, c, d, e, f)[source]
-
Создать новый экземпляр Affine2D из заданных значений:
a c e b d f 0 0 1
.
- get_matrix()[source]
-
Получить базовую матрицу преобразования в виде массива 3x3:
a c e b d f 0 0 1
.
- rotate(theta)[source]
-
Добавить вращение (в радианах) к этой трансформации на месте.
Возвращает self, поэтому этот метод можно легко использовать в цепочке с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- rotate_around(x, y, theta)[source]
-
Добавить вращение (в радианах) вокруг точки (x, y) на месте.
Возвращает self, поэтому этот метод можно легко использовать в цепочке с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- rotate_deg(degrees)[source]
-
Добавить вращение (в градусах) к этой трансформации на месте.
Возвращает self, поэтому этот метод можно легко использовать в цепочке с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- rotate_deg_around(x, y, degrees)[source]
-
Добавить вращение (в градусах) вокруг точки (x, y) на месте.
Возвращает self, поэтому этот метод можно легко использовать в цепочке с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- scale(sx, sy=None)[source]
-
Добавить масштабирование на месте.
Если sy равно None, одинаковый масштаб применяется по обеим осям x и y.
Возвращает self, поэтому этот метод можно легко использовать в цепочке с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- set(other)[source]
-
Установить эту трансформацию из неизменяемой копии другого объекта
Affine2DBase.
- set_matrix(mtx)[source]
-
Установить базовую матрицу преобразования из массива 3x3:
a c e b d f 0 0 1
.
- skew(xShear, yShear)[source]
-
Добавить сдвиг на месте.
xShear и yShear — углы сдвига по осям x и y соответственно в радианах.
Возвращает self, поэтому этот метод можно легко использовать в цепочке с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- skew_deg(xShear, yShear)[source]
-
Добавить сдвиг на месте.
xShear и yShear — углы сдвига вдоль осей x и y соответственно в градусах.
Возвращает self, поэтому этот метод можно легко объединить с дополнительными вызовами
rotate(),rotate_deg(),translate()иscale().
- translate(tx, ty)[source]
-
Добавить сдвиг на месте.
Возвращает self, поэтому этот метод можно легко объединить с дополнительными вызовами
rotate(),rotate_deg(),translate()иscale().
- classmatplotlib.transforms.Affine2DBase(*args, **kwargs)[source]
-
Базовый класс всех 2D аффинных преобразований.
2D аффинные преобразования выполняются с использованием массива numpy 3x3:
a c e b d f 0 0 1
Этот класс предоставляет только интерфейс для чтения. Для изменяемого 2D аффинного преобразования используйте
Affine2D.Подклассы этого класса, как правило, будут нуждаться только в переопределении конструктора и
get_matrix, который генерирует пользовательскую матрицу 3x3.- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
- frozen()[source]
-
Возвращает замороженную копию этого преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()обычно используется.
- has_inverse=True
-
True, если у этого преобразования есть соответствующее обратное преобразование.
- input_dims=2
-
Количество входных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- inverted()[source]
-
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его обратной копии.
- propertyis_separable
-
bool(x) -> bool
Возвращает True, если аргумент x истинный, иначе False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool — подкласс класса int и не может быть подклассом.
- output_dims=2
-
Количество выходных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- to_values()[source]
-
Возвращает значения матрицы в виде
(a, b, c, d, e, f)кортежа.
- transform_affine(values)[source]
-
Применяет только аффинную часть этого преобразования к заданному массиву значений.
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)[source]
-
Базовый класс всех аффинных преобразований любого числа измерений.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
- get_affine()[source]
-
Получить аффинную часть этого преобразования.
- is_affine=True
- transform(values)[source]
-
Применить это преобразование к заданному массиву значений.
- Параметры:
-
- valuesarray-like
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- 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), в зависимости от входных данных.
- transform_path(path)[source]
-
Применить преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставить кривые в траекторию, которая начиналась как отрезки прямых.
- классmatplotlib.transforms.AffineDeltaTransform(transform, **kwargs)[source]
-
Обёртка преобразования для преобразования смещений между парами точек.
Этот класс предназначен для преобразования смещений («смещений положения») между парами точек (например, как
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()[source]
-
Получить матрицу для аффинной части этого преобразования.
- классmatplotlib.transforms.Bbox(points, **kwargs)[source]
-
Bases:
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
- staticfrom_bounds(x0, y0, width, height)[source]
-
Создаёт новый
Bboxиз x0, y0, width и height.width и height могут быть отрицательными.
- staticfrom_extents(*args, minpos=None)[source]
-
Создаёт новый прямоугольник из left, bottom, right и top.
Ось y возрастает вверх.
- Параметры:
-
- left, bottom, right, topfloat
-
Четыре границы прямоугольника.
- minposfloat или None
-
Если указано, прямоугольник получит минимальное положительное значение. Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей точкой.
- frozen()[source]
-
Базовый класс для всего, что участвует в дереве преобразований и должно инвалидировать своих родителей или быть инвалидированным. Это включает классы, которые фактически не являются преобразованиями, такие как прямоугольники, так как некоторые преобразования зависят от прямоугольников для вычисления своих значений.
- get_points()[source]
-
Получить точки прямоугольника как массив вида
[[x0, y0], [x1, y1]].
- ignore(value)[source]
-
Установить, игнорировать ли существующие границы прямоугольника последующими вызовами
update_from_data_xy().- valuebool
-
- При
True, последующие вызовыupdate_from_data_xyбудут игнорировать существующие границы прямоугольника. - При
False, последующие вызовыupdate_from_data_xyбудут включать существующие границы прямоугольника.
- При
- propertyintervalx
-
Пара x-координат, определяющих прямоугольник.
Не гарантируется, что они отсортированы слева направо.
- propertyintervaly
-
Пара y-координат, определяющих прямоугольник.
Не гарантируется, что они отсортированы снизу вверх.
- propertyminpos
-
Минимальное положительное значение в обоих направлениях внутри прямоугольника.
Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей точкой, и будет использоваться как минимальный экстент вместо p0.
- propertyminposx
-
Минимальное положительное значение по x-направлению внутри прямоугольника.
Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей точкой, и будет использоваться как минимальный x-экстент вместо x0.
- propertyminposy
-
Минимальное положительное значение по y-направлению внутри прямоугольника.
Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей точкой, и будет использоваться как минимальный y-экстент вместо y0.
- mutated()[source]
-
Возвращает, изменился ли прямоугольник со времени инициализации.
- mutatedx()[source]
-
Возвращает, изменились ли x-границы со времени инициализации.
- mutatedy()[source]
-
Возвращает, изменились ли y-границы со времени инициализации.
- staticnull()[source]
-
Создать новый нулевой прямоугольник
Bboxот (бесконечность, бесконечность) до (-бесконечность, -бесконечность).
- propertyp0
-
Первая пара координат (x, y), определяющих прямоугольник.
Это не гарантированно будет нижний левый угол (для этого используйте
min).
- propertyp1
-
Вторая пара координат (x, y), определяющих прямоугольник.
Это не гарантированно будет верхний правый угол (для этого используйте
max).
- set(other)[source]
-
Установить этот прямоугольник по "замороженным" границам другого
Bbox.
- set_points(points)[source]
-
Установить точки прямоугольника напрямую из массива вида
[[x0, y0], [x1, y1]]. Проверка ошибок не выполняется, так как этот метод в основном предназначен для внутреннего использования.
- staticunit()[source]
-
Создать новый единичный прямоугольник
Bboxот (0, 0) до (1, 1).
- update_from_data_x(x, ignore=None)[source]
-
Обновить границы по x прямоугольника
Bboxна основе переданных данных. После обновления границы будут иметь положительную ширину, а x0 — минимальное значение.
- update_from_data_xy(xy, ignore=None, updatex=True, updatey=True)[source]
-
Обновить границы прямоугольника
Bboxна основе переданных координат xy.После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.
- Parameters:
-
- xy(N, 2) array-like
-
Координаты (x, y).
- ignorebool, optional
- updatex, updateybool, default: True
-
При
True, обновить значения x/y.
- update_from_data_y(y, ignore=None)[source]
-
Обновить границы по y прямоугольника
Bboxна основе переданных данных. После обновления границы будут иметь положительную высоту, а y0 — минимальное значение.
- update_from_path(path, ignore=None, updatex=True, updatey=True)[source]
-
Обновить границы
Bboxтак, чтобы они содержали вершины заданного пути. После обновления границы будут иметь положительную width и height; x0 и y0 будут минимальными значениями.
- propertyx0
-
Первая из пары координат x, определяющих прямоугольник.
Не гарантируется, что будет меньше
x1(для этого используйтеxmin).
- propertyx1
-
Вторая из пары координат x, определяющих прямоугольник.
Не гарантируется, что будет больше
x0(для этого используйтеxmax).
- propertyy0
-
Первая из пары координат y, определяющих прямоугольник.
Не гарантируется, что будет меньше
y1(для этого используйтеymin).
- propertyy1
-
Вторая из пары координат y, определяющих прямоугольник.
Не гарантируется, что будет больше
y0(для этого используйтеymax).
- classmatplotlib.transforms.BboxBase(shorthand_name=None)[source]
-
Bases:
TransformNodeБазовый класс всех ограничивающих прямоугольников.
Этот класс неизменяемый;
Bbox— это изменяемый подкласс.Каноническое представление — это две точки без ограничений на их порядок. Предоставляются удобные свойства для получения левой, нижней, правой и верхней границ, а также ширины и высоты, но они не хранятся явно.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
- anchored(c, container=None)[source]
-
Возвращает копию
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)[source]
-
Возвращает, лежит ли
(x, y)внутри ограничивающего прямоугольника или на его границе.
- corners()[source]
-
Возвращает углы этого прямоугольника в виде массива точек.
Конкретно, это возвращает массив
[[x0, y0], [x0, y1], [x1, y0], [x1, y1]].
- count_contains(vertices)[source]
-
Подсчитывает количество вершин, содержащихся в
Bbox. Любые вершины с нечисловыми значениями x или y игнорируются.- Параметры:
-
- vertices(N, 2) массив
- count_overlaps(bboxes)[source]
-
Подсчитывает количество прямоугольников, которые перекрываются с этим прямоугольником.
- Параметры:
-
-
bboxesпоследовательность
BboxBase
-
bboxesпоследовательность
- expanded(sw, sh)[source]
-
Создает
Bbox, расширяя этот прямоугольник вокруг центра на коэффициенты sw и sh.
- frozen()[source]
-
Базовый класс для всего, что участвует в дереве преобразований и нуждается в обновлении своих родителей или в обновлении.
Это включает классы, которые на самом деле не являются преобразованиями, такие как ограничивающие прямоугольники, поскольку некоторые преобразования зависят от ограничивающих прямоугольников для вычисления своих значений.
- fully_contains(x, y)[source]
-
Возвращает, находится ли
x, yвнутри ограничивающего прямоугольника, но не на его границе.
- fully_containsx(x)[source]
-
Возвращает значение истины, если x находится в открытом интервале (
x0,x1).
- fully_containsy(y)[source]
-
Возвращает значение истины, если y находится в открытом интервале (
y0,y1).
- fully_overlaps(other)[source]
-
Возвращает значение истины, если этот прямоугольник полностью перекрывается с другим прямоугольником, не включая грани.
- Параметры:
-
-
other
BboxBase
-
other
- get_points()[source]
- propertyheight
-
Высота (со знаком) прямоугольника.
- staticintersection(bbox1, bbox2)[source]
-
Возвращает пересечение bbox1 и bbox2, если они пересекаются, или None, если нет.
- propertyintervalx
-
Пара x-координат, определяющих прямоугольник.
Не гарантируется, что они отсортированы слева направо.
- propertyintervaly
-
Пара y-координат, определяющих прямоугольник.
Не гарантируется, что они отсортированы снизу вверх.
- is_affine=True
- is_bbox=True
- propertymax
-
Правый верхний угол прямоугольника.
- propertymin
-
Левый нижний угол прямоугольника.
- overlaps(other)[source]
-
Возвращает значение истины, если этот прямоугольник перекрывается с другим прямоугольником.
- Параметры:
-
-
other
BboxBase
-
other
- propertyp0
-
Первая пара (x, y) координат, определяющих прямоугольник.
Не гарантируется, что это левый нижний угол (для этого используйте
min).
- propertyp1
-
Вторая пара (x, y) координат, определяющих прямоугольник.
Не гарантируется, что это правый верхний угол (для этого используйте
max).
- padded(w_pad, h_pad=None)[source]
-
Создает
Bboxпутём добавления отступа со всех четырёх сторон к этому прямоугольнику.- Параметры:
-
- w_padfloat
-
Отступ по ширине
- h_padfloat, необязательно
-
Отступ по высоте. По умолчанию равен w_pad.
- rotated(radians)[source]
-
Возвращает прямоугольник, ограниченный результатом поворота этого
Bboxна угол radians.
- shrunk(mx, my)[source]
-
Возвращает копию
Bbox, сжатую на коэффициент mx по оси x и коэффициент my по оси y. Левый нижний угол прямоугольника остаётся неизменным. Обычно mx и my будут меньше 1, но это не является обязательным.
- shrunk_to_aspect(box_aspect, container=None, fig_aspect=1.0)[source]
-
Возвращает копию
Bbox, сжатую до желаемого соотношения сторон, box_aspect. Если координаты прямоугольника относительные (т.е. доли от большего прямоугольника, например, фигуры), то физическое соотношение сторон этой фигуры задаётся параметром fig_aspect, так что box_aspect можно задавать как отношение абсолютных размеров, а не относительных.
- propertysize
-
Ширина и высота прямоугольника (со знаком).
- splitx(*args)[source]
-
Возвращает список новых объектов
Bbox, сформированных путем разделения исходного объекта вертикальными линиями в дробных позициях, заданных параметром args.
- splity(*args)[source]
-
Возвращает список новых объектов
Bbox, сформированных путем разделения исходного объекта горизонтальными линиями в дробных позициях, заданных параметром args.
- transformed(transform)[source]
-
Создаёт
Bboxпутем статического преобразования этого объекта с помощью transform.
- translated(tx, ty)[source]
-
Создаёт
Bboxпутем перевода этого объекта на tx и ty.
- staticunion(bboxes)[source]
-
Возвращает
Bbox, содержащий все заданные bboxes.
- propertywidth
-
Ширина области, ограниченной прямоугольником.
- propertyx0
-
Первая из пары координат x, определяющих область, ограниченную прямоугольником.
Не гарантируется, что она будет меньше
x1(для этого используйтеxmin).
- propertyx1
-
Вторая из пары координат x, определяющих область, ограниченную прямоугольником.
Не гарантируется, что она будет больше
x0(для этого используйтеxmax).
- propertyxmax
-
Правый край области, ограниченной прямоугольником.
- propertyxmin
-
Левый край области, ограниченной прямоугольником.
- propertyy0
-
Первая из пары координат y, определяющих область, ограниченную прямоугольником.
Не гарантируется, что она будет меньше
y1(для этого используйтеymin).
- propertyy1
-
Вторая из пары координат y, определяющих область, ограниченную прямоугольником.
Не гарантируется, что она будет больше
y0(для этого используйтеymax).
- propertyymax
-
Верхний край области, ограниченной прямоугольником.
- propertyymin
-
Нижний край области, ограниченной прямоугольником.
- classmatplotlib.transforms.BboxTransform(boxin, boxout, **kwargs)[source]
-
Bases:
Affine2DBaseBboxTransformлинейно преобразует точки из одной области, ограниченной прямоугольником, в другую.Создаёт новый
BboxTransform, который линейно преобразует точки из boxin в boxout.- get_matrix()[source]
-
Получает матрицу для аффинной части этого преобразования.
- is_separable=True
-
True, если это преобразование разделимо по осям x и y.
- классmatplotlib.transforms.BboxTransformFrom(boxin, **kwargs)[source]
-
Базы:
Affine2DBaseBboxTransformFromлинейно преобразует точки из заданногоBboxв единичный прямоугольник.- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
True, если это преобразование разделимо по осям x и y.
- классmatplotlib.transforms.BboxTransformTo(boxout, **kwargs)[source]
-
Базы:
Affine2DBaseBboxTransformTo— это преобразование, которое линейно преобразует точки из единичного прямоугольника в заданныйBbox.Создать новое
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
True, если это преобразование разделимо по осям x и y.
- классmatplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs)[source]
-
Базы:
BboxTransformToBboxTransformTo— это преобразование, которое линейно преобразует точки из единичного прямоугольника в заданныйBboxс фиксированным верхним левым углом (0, 0).Создать новое
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- классmatplotlib.transforms.BlendedAffine2D(x_transform, y_transform, **kwargs)[source]
-
Базы:
_BlendedMixin,Affine2DBase«Смешанное» преобразование использует одно преобразование для оси x и другое преобразование для оси y.
Этот вариант является оптимизацией для случая, когда оба дочерних преобразования являются типа
Affine2DBase.Создать новое «смешанное» преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
И x_transform, и y_transform должны быть 2D аффинными преобразованиями.
Как правило, вы не будете вызывать этот конструктор напрямую, а воспользуетесь функцией
blended_transform_factory, которая может автоматически определить, какой тип смешанного преобразования создать.- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
True, если это преобразование разделимо по осям x и y.
- classmatplotlib.transforms.BlendedGenericTransform(x_transform, y_transform, **kwargs)[source]
-
Bases:
_BlendedMixin,TransformАффинное преобразование, использующее одно преобразование для оси x и другое для оси y.
Этот «обобщенный» вариант может обрабатывать любые заданные дочерние преобразования в направлениях x и y.
Создаёт новое аффинное преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Как правило, вы не будете вызывать этот конструктор напрямую, а будете использовать функцию
blended_transform_factory, которая может автоматически определить, какой вид смешанного преобразования создать.- 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]
-
Bases:
Affine2DBaseСоставное преобразование, образованное применением преобразования a, а затем преобразования b.
Этот вариант — оптимизация, которая обрабатывает случай, когда оба a и b являются 2D-аффинными преобразованиями.
Создаёт новое составное преобразование, которое является результатом применения
Affine2DBasea, а затемAffine2DBaseb.Как правило, вы не будете вызывать этот конструктор напрямую, а напишете
a + bвместо этого, что автоматически выберет лучший вид экземпляра составного преобразования для создания.- propertydepth
-
Возвращает количество преобразований, которые были объединены для формирования этого объекта преобразования.
Примечание
В случае специального преобразования Composite возвращается максимальная глубина из двух.
- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- classmatplotlib.transforms.CompositeGenericTransform(a, b, **kwargs)[source]
-
Bases:
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).- Parameters:
-
- valuesarray
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Returns:
-
- array
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_non_affine(values)[source]
-
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, эквивалентно
transform(values). В аффинных преобразованиях это всегда бесполезная операция.- Parameters:
-
- valuesarray
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Returns:
-
- array
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- classmatplotlib.transforms.IdentityTransform(*args, **kwargs)[source]
-
Bases:
Affine2DBaseСпециальный класс, который выполняет операцию тождественного преобразования очень быстро.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме повышения читабельности
str(transform)при DEBUG=True.
- frozen()[source]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()обычно может использоваться.
- get_affine()[source]
-
Получить аффинную часть этого преобразования.
- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- inverted()[source]
-
Возвращает соответствующее обратное преобразование.
В ней хранится
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не приводит к соответствующему обновлению его инвертированной копии.
- transform(values)[source]
-
Применить это преобразование к заданному массиву values.
- Параметры:
-
- valuesarray-like
-
Входные значения как массив длины
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения как массив длины
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- 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), в зависимости от входных данных.
- transform_path(path)[source]
-
Применить преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставить кривые в путь, который начинался как отрезки прямых.
- classmatplotlib.transforms.LockableBbox(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[source]
-
Bases:
BboxBaseA
Bbox, где некоторые элементы могут быть заблокированы на определённых значениях.При изменении дочернего прямоугольника, границы этого прямоугольника будут обновляться соответственно, за исключением заблокированных элементов.
- Parameters:
-
-
bbox
Bbox -
Оборачиваемый дочерний прямоугольник.
- x0float or None
-
Заблокированное значение для x0, или None для разблокировки.
- y0float or None
-
Заблокированное значение для y0, или None для разблокировки.
- x1float or None
-
Заблокированное значение для x1, или None для разблокировки.
- y1float or None
-
Заблокированное значение для y1, или None для разблокировки.
-
bbox
- get_points()[source]
- propertylocked_x0
-
float or None: Значение, используемое для заблокированного x0.
- propertylocked_x1
-
float or None: Значение, используемое для заблокированного x1.
- propertylocked_y0
-
float or None: Значение, используемое для заблокированного y0.
- propertylocked_y1
-
float or None: Значение, используемое для заблокированного y1.
- classmatplotlib.transforms.ScaledTranslation(xt, yt, scale_trans, **kwargs)[source]
-
Bases:
Affine2DBaseПреобразование, которое перемещает на xt и yt, после того, как xt и yt были преобразованы с помощью scale_trans.
- Parameters:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме улучшения читаемости
str(transform)при DEBUG=True.
- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- classmatplotlib.transforms.Transform(shorthand_name=None)[source]
-
Базовые классы:
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)[source]
-
Комбинирует два преобразования, так что self следует за other.
A + Bвозвращает преобразованиеCтак, чтоC.transform(x) == B.transform(A.transform(x)).
- __sub__(other)[source]
-
Комбинирует self с обратным other, отменяя одинаковые элементы, если таковые имеются:
# In general: A - B == A + B.inverted() # (but see note regarding frozen transforms below). # If A "ends with" B (i.e. A == A' + B for some A') we can cancel # out B: (A' + B) - B == A' # Likewise, if B "starts with" A (B = A + B'), we can cancel out A: A - (A + B') == B'.inverted() == B'^-1
Отмена (вместо простого возврата
A + B.inverted()) важна по нескольким причинам:- Это предотвращает неточности с плавающей запятой при вычислении обратного преобразования B:
B - Bгарантированно будет полностью отменён (результатом будет тождественное преобразование), тогда какB + B.inverted()может отличаться на небольшую величину эпсилон. -
B.inverted()всегда возвращает замороженное преобразование: если вычислитьA + B + B.inverted()и затем изменитьB, тоB.inverted()не будет обновлён, а последние два члена больше не отменятся; с другой стороны,A + B - Bвсегда будет равноA, даже еслиBизменяется.
- Это предотвращает неточности с плавающей запятой при вычислении обратного преобразования B:
- contains_branch(other)[source]
-
Возвращает, является ли данное преобразование поддеревом этого преобразования.
Эта функция использует равенство преобразований для идентификации поддеревьев, поэтому во многих ситуациях будет использоваться идентификатор объекта.
В случае, когда данное преобразование представляет собой всё это преобразование, возвращает True.
- contains_branch_seperately(other_transform)[source]
-
Возвращает, является ли данное поддерево поддеревом этого преобразования в каждом измерении по отдельности.
Частое применение этого метода — определение того, является ли преобразование смешанным преобразованием, содержащим преобразование данных осей. Например:
x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
- propertydepth
-
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра Transform.
Примечание
В особом случае с преобразованием Composite возвращается максимальная глубина двух преобразований.
- get_affine()[source]
-
Получает аффинную часть этого преобразования.
- get_matrix()[source]
-
Возвращает матрицу аффинной части этого преобразования.
- has_inverse=False
-
True, если у этого преобразования есть соответствующее обратное преобразование.
- input_dims=None
-
Количество входных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- inverted()[source]
-
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Значение, возвращаемое этим методом, следует рассматривать как временное. Обновление self не вызывает соответствующего обновления его обратного копии.
- is_separable=False
-
True, если это преобразование разделимо по осям x и y.
- output_dims=None
-
Количество выходных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- transform(values)[source]
-
Применяет это преобразование к заданному массиву значений.
- Параметры:
-
- valuesarray-like
-
Входные значения в виде массива длины
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]
-
Bases:
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]
-
Bases:
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]
-
Bases:
BboxBaseA
Bboxthat is automatically transformed by a given transform. When either the child bounding box or transform changes, the bounds of this bbox will update accordingly.- Parameters:
-
-
bbox
Bbox -
transform
Transform
-
bbox
- contains(x, y)[source]
-
Return whether
(x, y)находится в области или на её границе.
- fully_contains(x, y)[source]
-
Return whether
x, yнаходится полностью в области, но не на её границе.
- get_points()[source]
- classmatplotlib.transforms.TransformedPatchPath(patch)[source]
-
Bases:
TransformedPathA
TransformedPatchPathкэширует неаффинное преобразованную копиюPatch. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования или объектаPatch.- Parameters:
-
-
patch
Patch
-
patch
- classmatplotlib.transforms.TransformedPath(path, transform)[source]
-
Bases:
TransformNodeA
TransformedPathкэширует неаффинное преобразованную копиюPath. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования.Примечание
Объекты
Pathсчитаются неизменяемыми этим классом. Любые изменения вершин/кодов пути не вызовут перерасчёта преобразования.- Parameters:
-
-
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)[source]
-
Создаёт новое составное преобразование, которое является результатом применения преобразования a, а затем преобразования b.
Короткие версии смешанного преобразования предоставлены для случая, когда оба подчинённых преобразования аффинные, или одно из них – тождественное преобразование.
Составные преобразования также могут быть созданы с помощью оператора '+', например:
c = a + b
- matplotlib.transforms.interval_contains(interval, val)[source]
-
Проверка, включает ли интервал заданное значение.
- Параметры:
-
- interval(float, float)
-
Конечные точки интервала.
- valfloat
-
Значение, которое нужно проверить на принадлежность интервалу.
- Возвращаемое значение:
-
- bool
-
Принадлежит ли val интервалу interval.
- matplotlib.transforms.interval_contains_open(interval, val)[source]
-
Проверка, включает ли интервал заданное значение, исключая граничные точки.
- Параметры:
-
- interval(float, float)
-
Конечные точки интервала.
- valfloat
-
Значение, которое нужно проверить на принадлежность интервалу.
- Возвращаемое значение:
-
- bool
-
Принадлежит ли val интервалу interval.
- matplotlib.transforms.nonsingular(vmin, vmax, expander=0.001, tiny=1e-15, increasing=True)[source]
-
Модифицирует конечные точки диапазона для избежания особенностей.
- Параметры:
-
- vmin, vmaxfloat
-
Начальные конечные точки.
- expanderfloat, по умолчанию: 0.001
-
Доля, на которую vmin и vmax расширяются, если исходный интервал слишком мал, в зависимости от tiny.
- tinyfloat, по умолчанию: 1e-15
-
Порог для отношения интервала к максимальному абсолютному значению его конечных точек. Если интервал меньше этого значения, он будет расширен. Это значение должно быть около 1e-15 или больше; в противном случае интервал будет приближаться к пределу разрешения двойной точности.
- increasingbool, по умолчанию: True
-
Если True, переставляет vmin, vmax, если vmin > vmax.
- Возвращаемое значение:
-
- vmin, vmaxfloat
-
Конечные точки, расширенные и/или переставленные, если необходимо. Если какой-либо из входов равен inf или NaN, или если оба входа равны 0 или очень близки к нулю, возвращает -expander, expander.
- matplotlib.transforms.offset_copy(trans, fig=None, x=0.0, y=0.0, units='inches')[source]
-
Возвращает новый трансформ с добавленным смещением.
- Параметры:
-
-
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