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, инициализируется с помощью тождественного преобразования.
- __init__(matrix=None, **kwargs)[source]
-
Инициализация аффинного преобразования из 3x3 массива numpy с плавающей запятой:
a c e b d f 0 0 1
Если matrix имеет значение None, инициализируется с помощью тождественного преобразования.
- __module__='matplotlib.transforms'
- __str__()[source]
-
Возвращает str(self).
- clear()[source]
-
Сброс базовой матрицы до тождественного преобразования.
- staticfrom_values(a, b, c, d, e, f)[source]
-
Создает новый экземпляр Affine2D из заданных значений:
a c e b d f 0 0 1
.
- get_matrix()[source]
-
Получение базовой матрицы преобразования в виде 3x3 массива numpy:
a c e b d f 0 0 1
.
- staticidentity()[source]
-
[Устарело] Возвращает новый объект
Affine2D, который является тождественным преобразованием.Если это преобразование не будет изменено позже, рассмотрите возможность использования более быстрого класса
IdentityTransformвместо него.Примечания
Устарело начиная с версии 3.6: Используйте Affine2D() вместо этого.
- 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]
-
Установите базовую матрицу преобразования из массива numpy 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]
-
Bases:
AffineBaseБазовый класс всех 2D аффинных преобразований.
2D аффинные преобразования выполняются с использованием 3x3 массива numpy:
a c e b d f 0 0 1
Этот класс предоставляет только для чтения интерфейс. Для изменяемого 2D аффинного преобразования используйте
Affine2D.Подклассы этого класса обычно будут нуждаться только в переопределении конструктора и
get_matrix()для генерации пользовательской 3x3 матрицы.- Параметры:
-
- shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме как для улучшения удобочитаемости
str(transform)когда DEBUG=True.
- __annotations__={}
- __module__='matplotlib.transforms'
- frozen()[source]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()обычно может быть использован.
- has_inverse=True
-
True, если у этого преобразования есть соответствующее обратное преобразование.
- input_dims=2
-
Количество входных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- inverted()[source]
-
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не приводит к соответствующему обновлению его инвертированной копии.
- propertyis_separable
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, False в противном случае. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- output_dims=2
-
Количество выходных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- to_values()[source]
-
Возвращает значения матрицы в виде
(a, b, c, d, e, f)кортежа.
- transform_affine(points)[source]
-
Применяет только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно пустая операция. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- valuesarray
-
Входные значения в виде массива NumPy длины
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- array
-
Выходные значения в виде массива NumPy длины
output_dimsили формы (N xoutput_dims), в зависимости от входа.
- классmatplotlib.transforms.AffineBase(*args, **kwargs)[source]
-
Базовый класс всех аффинных преобразований любого числа измерений.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме как для улучшения удобочитаемости
str(transform)при DEBUG=True.
- __annotations__={}
- __array__(*args, **kwargs)[source]
-
Интерфейс массива для доступа к матрице аффинного преобразования данного преобразования.
- __eq__(other)[source]
-
Возвращает self==value.
- __hash__=None
- __init__(*args, **kwargs)[source]
-
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме как для улучшения удобочитаемости
str(transform)при DEBUG=True.
- __module__='matplotlib.transforms'
- get_affine()[source]
-
Получить аффинную часть этого преобразования.
- is_affine=True
- transform(values)[source]
-
Применить данное преобразование к заданному массиву values.
- Параметры:
-
- valuesмассив
-
Входные значения как массив NumPy длины
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Значения вывода как массив NumPy длины
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_affine(values)[source]
-
Применить только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно не операция. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- valuesмассив
-
Входные значения как массив NumPy длины
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Значения вывода как массив NumPy длины
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_non_affine(points)[source]
-
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно эквивалентно
transform(values). В аффинных преобразованиях это всегда не операция.- Параметры:
-
- valuesмассив
-
Входные значения как массив NumPy длины
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Значения вывода как массив NumPy длины
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_path(path)[source]
-
Применить преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставить кривые в путь, который начинался как отрезки прямых.
- classmatplotlib.transforms.AffineDeltaTransform(transform, **kwargs)[source]
-
Bases:
Affine2DBaseОбёртка преобразования для преобразования смещений между парами точек.
Этот класс предназначен для преобразования смещений («дельт позиции») между парами точек (например, как
offset_transformдляCollection): учитывая преобразованиеtтаким образом, чтоt = AffineDeltaTransform(t) + offset,AffineDeltaTransformудовлетворяетAffineDeltaTransform(a - b) == AffineDeltaTransform(a) - AffineDeltaTransform(b).Это реализуется принудительным сведением к нулю компонентов смещения матрицы преобразования.
Этот класс экспериментальный, начиная с версии 3.3, и API может измениться.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме повышения читаемости
str(transform)при DEBUG=True.
- __annotations__={}
- __init__(transform, **kwargs)[source]
-
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме повышения читаемости
str(transform)при DEBUG=True.
- __module__='matplotlib.transforms'
- __str__()[source]
-
Возвращает str(self).
- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- classmatplotlib.transforms.Bbox(points, **kwargs)[source]
-
Основы:
BboxBaseИзменяемая область.
Примеры
Создание из известных границ
Конструктор по умолчанию принимает граничные "точки"
[[xmin, ymin], [xmax, ymax]].>>> Bbox([[1, 1], [3, 7]]) Bbox([[1.0, 1.0], [3.0, 7.0]])
В качестве альтернативы, область можно создать из сглаженного массива точек, так называемых "расстояний"
(xmin, ymin, xmax, ymax)>>> Bbox.from_extents(1, 1, 3, 7) Bbox([[1.0, 1.0], [3.0, 7.0]])
или из "границ"
(xmin, ymin, width, height).>>> Bbox.from_bounds(1, 1, 2, 6) Bbox([[1.0, 1.0], [3.0, 7.0]])
Создание из наборов точек
Пустой объект для накопления областей — это нулевая область, которая представляет пустое множество.
>>> Bbox.null() Bbox([[inf, inf], [-inf, -inf]])
Добавление точек к нулевой области даст вам область этих точек.
>>> box = Bbox.null() >>> box.update_from_data_xy([[1, 1]]) >>> box Bbox([[1.0, 1.0], [1.0, 1.0]]) >>> box.update_from_data_xy([[2, 3], [3, 2]], ignore=False) >>> box Bbox([[1.0, 1.0], [3.0, 3.0]])
Установка
ignore=Trueэквивалентна началу с нулевой области.>>> box.update_from_data_xy([[1, 1]], ignore=True) >>> box Bbox([[1.0, 1.0], [1.0, 1.0]])
Предупреждение
Рекомендуется всегда явно указывать
ignore. В противном случае значение по умолчаниюignoreможет быть изменено в любой момент кодом, имеющим доступ к вашей области, например, с помощью методаignore.Свойства нулевой области
Примечание
Текущее поведение
Bbox.null()может быть неожиданным, так как оно не обладает всеми свойствами "пустого множества" и, следовательно, не ведет себя как нулевой объект в математическом смысле. Мы можем изменить это в будущем (с периодом устаревания).Нулевая область является тождественной для пересечений
>>> Bbox.intersection(Bbox([[1, 1], [3, 7]]), Bbox.null()) Bbox([[1.0, 1.0], [3.0, 7.0]])
кроме как с собой, где она возвращает всё пространство.
>>> Bbox.intersection(Bbox.null(), Bbox.null()) Bbox([[-inf, -inf], [inf, inf]])
Объединение, содержащее ноль, всегда вернёт всё пространство (не другую область!)
>>> Bbox.union([Bbox([[0, 0], [0, 0]]), Bbox.null()]) Bbox([[-inf, -inf], [inf, inf]])
- Параметры:
-
- pointsndarray
-
Массив numpy 2x2 вида
[[x0, y0], [x1, y1]].
- __annotations__={}
- __format__(fmt)[source]
-
Форматировщик объекта по умолчанию.
- __init__(points, **kwargs)[source]
-
- Параметры:
-
- pointsndarray
-
Массив numpy 2x2 вида
[[x0, y0], [x1, y1]].
- __module__='matplotlib.transforms'
- __repr__()[source]
-
Возвращает repr(self).
- __str__()[source]
-
Возвращает str(self).
- staticfrom_bounds(x0, y0, width, height)[source]
-
Создаёт новую
Bboxиз x0, y0, width и height.width и height могут быть отрицательными.
- staticfrom_extents(*args, minpos=None)[source]
-
Создаёт новую область из left, bottom, right и top.
Ось y возрастает вверх.
- Параметры:
-
- left, bottom, right, topfloat
-
Четыре крайние точки области.
- minposfloat или None
-
Если это указано, область будет иметь минимальное положительное значение. Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей запятой.
- frozen()[source]
-
Базовый класс для всего, что участвует в дереве преобразований и нуждается в обновлении своих родителей или обновлении. Это включает в себя классы, которые не являются преобразованиями, такие как области, так как некоторые преобразования зависят от областей для вычисления своих значений.
- get_points()[source]
-
Получить точки области непосредственно в виде массива numpy вида:
[[x0, y0], [x1, y1]].
- ignore(value)[source]
-
Установить, следует ли игнорировать существующие границы рамки в последующих вызовах
update_from_data_xy().- valuebool
-
- Если
True, последующие вызовыupdate_from_data_xy()проигнорируют существующие границыBbox. - Если
False, последующие вызовыupdate_from_data_xy()включат существующие границыBbox.
- Если
- propertyintervalx
-
Пара x-координат, определяющих область.
Не гарантируется, что они отсортированы слева направо.
- propertyintervaly
-
Пара y-координат, определяющих область.
Не гарантируется, что они отсортированы снизу вверх.
- свойствоminpos
-
Минимальное положительное значение в обоих направлениях в рамках Bbox.
Это полезно при работе с логарифмическими масштабами и другими масштабами, где отрицательные границы приводят к ошибкам с плавающей точкой, и будет использоваться как минимальное значение вместо p0.
- свойствоminposx
-
Минимальное положительное значение в направлении x в рамках Bbox.
Это полезно при работе с логарифмическими масштабами и другими масштабами, где отрицательные границы приводят к ошибкам с плавающей точкой, и будет использоваться как минимальное значение x-протяженности вместо x0.
- свойствоminposy
-
Минимальное положительное значение в направлении y в рамках Bbox.
Это полезно при работе с логарифмическими масштабами и другими масштабами, где отрицательные границы приводят к ошибкам с плавающей точкой, и будет использоваться как минимальное значение y-протяженности вместо y0.
- mutated()[source]
-
Возвращает, изменился ли Bbox с момента инициализации.
- mutatedx()[source]
-
Возвращает, изменились ли пределы по оси x с момента инициализации.
- mutatedy()[source]
-
Возвращает, изменились ли пределы по оси y с момента инициализации.
- статическийnull()[source]
-
Создает новый нулевой
Bboxот (inf, inf) до (-inf, -inf).
- свойствоp0
-
Первая пара координат (x, y), определяющих прямоугольник.
Это не гарантирует, что это нижний левый угол (для этого используйте
min).
- свойствоp1
-
Вторая пара координат (x, y), определяющих прямоугольник.
Это не гарантирует, что это верхний правый угол (для этого используйте
max).
- set(other)[source]
-
Устанавливает этот прямоугольник из «замороженных» границ другого
Bbox.
- set_points(points)[source]
-
Установка точек прямоугольника напрямую из массива numpy следующего вида:
[[x0, y0], [x1, y1]]. Проверка на ошибки не выполняется, так как этот метод предназначен в основном для внутреннего использования.
- статическийunit()[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на основе переданных данных. После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.- Параметры:
- update_from_data_y(y, ignore=None)[source]
-
Обновление границ по оси y
Bboxна основе переданных данных. После обновления границы будут иметь положительную высоту, а y0 будет минимальным значением.
- update_from_path(path, ignore=None, updatex=True, updatey=True)[source]
-
Обновление границ
Bboxдля охвата вершин переданного пути. После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.
- свойствоx0
-
Первая из пары координат x, определяющих прямоугольник.
Не гарантируется, что она меньше
x1(для этого используйтеxmin).
- свойствоx1
-
Вторая из пары координат x, определяющих прямоугольник.
Не гарантируется, что она больше
x0(для этого используйтеxmax).
- свойствоy0
-
Первая из пары координат y, определяющих прямоугольник.
Не гарантируется, что она меньше
y1(для этого используйтеymin).
- свойствоy1
-
Вторая из пары координат y, определяющих прямоугольник.
Не гарантируется, что она больше
y0(для этого используйтеymax).
- классmatplotlib.transforms.BboxBase(shorthand_name=None)[source]
-
Bases:
TransformNodeБазовый класс всех прямоугольников.
Этот класс неизменяемый;
Bbox— это изменяемый подкласс.Каноническое представление — это две точки без ограничений на их порядок. Предоставляются удобные свойства для получения левой, нижней, правой и верхней границ, а также ширины и высоты, но они не хранятся явно.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
- __annotations__={}
- __array__(*args, **kwargs)[source]
- __module__='matplotlib.transforms'
- anchored(c, container=None)[source]
-
Возвращает копию
Bbox, привязанную к c внутри container.- Параметры:
-
- c(float, float) или {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}
-
Пара (x, y) относительных координат (0 — слева или снизу, 1 — справа или сверху), 'C' (центр) или направлением сторон ('SW' — юго-запад, является нижним левым углом и т. д.).
-
container
Bbox, необязательно -
Прямоугольник, внутри которого размещается
Bbox; по умолчанию используется начальныйBbox.
См. также
- coefs={'C': (0.5, 0.5), 'E': (1.0, 0.5), 'N': (0.5, 1.0), 'NE': (1.0, 1.0), 'NW': (0, 1.0), 'S': (0.5, 0), 'SE': (1.0, 0), 'SW': (0, 0), 'W': (0, 0.5)}
- contains(x, y)[source]
-
Возвращает, находится ли
(x, y)внутри прямоугольника или на его границе.
- corners()[source]
-
Возвращает углы этого прямоугольника в виде массива точек.
Конкретно, это возвращает массив
[[x0, y0], [x0, y1], [x1, y0], [x1, y1]].
- count_contains(vertices)[source]
-
Подсчитывает количество вершин, содержащихся в
Bbox. Вершины с нечисловыми x или y игнорируются.- Параметры:
-
- verticesNx2 Numpy массив.
- count_overlaps(bboxes)[source]
-
Подсчитывает количество прямоугольников, которые перекрываются с этим.
- Параметры:
-
-
bboxesпоследовательность
BboxBase
-
bboxesпоследовательность
- expanded(sw, sh)[source]
-
Создаёт
Bbox, расширив этот вокруг центра на факторы sw и sh.
- frozen()[source]
-
Базовый класс для всего, что участвует в дереве преобразований и должно аннулировать своих родителей или быть аннулированным. Это включает классы, которые на самом деле не являются преобразованиями, такие как прямоугольные области, поскольку некоторые преобразования зависят от прямоугольных областей для вычисления своих значений.
- fully_contains(x, y)[source]
-
Возвращает значение, соответствует ли
x, yпрямоугольной области, но не на её границе.
- fully_overlaps(other)[source]
-
Возвращает значение, перекрываются ли эта прямоугольная область и другая прямоугольная область, не включая границы.
- Parameters:
-
-
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]
-
Возвращает значение, перекрываются ли эта прямоугольная область и другая прямоугольная область.
- Parameters:
-
-
other
BboxBase
-
other
- propertyp0
-
Первая пара координат (x, y), определяющих прямоугольную область.
Не гарантируется, что это нижняя левая вершина (для этого используйте
min).
- propertyp1
-
Вторая пара координат (x, y), определяющих прямоугольную область.
Не гарантируется, что это верхняя правая вершина (для этого используйте
max).
- padded(p)[source]
-
Создает
Bboxпутём добавления отступа по всем четырём сторонам этой прямоугольной области на p.
- rotated(radians)[source]
-
Возвращает прямоугольную область, выровненную по осям, которая ограничивает результат поворота этой
Bboxна угол radians.
- shrunk(mx, my)[source]
-
Возвращает копию
Bbox, уменьшенную в x направлении на коэффициент mx и в y направлении на коэффициент my. Нижняя левая вершина прямоугольной области остаётся неизменной. Обычно 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:
Affine2DBaseЛинейно преобразует точки из одной
Bboxв другую.Создаёт новый объект
BboxTransform, линейно преобразующий точки из boxin в boxout.- __annotations__={}
- __init__(boxin, boxout, **kwargs)[source]
-
Создаёт новый
BboxTransform, линейно преобразующий точки из boxin в boxout.
- __module__='matplotlib.transforms'
- __str__()[source]
-
Возвращает str(self).
- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
Истинно, если это преобразование разделимо по осям x и y.
- classmatplotlib.transforms.BboxTransformFrom(boxin, **kwargs)[source]
-
Bases:
Affine2DBaseBboxTransformFromЛинейно преобразует точки из заданнойBboxв единичный прямоугольник.- Parameters:
-
- shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
- __annotations__={}
- __init__(boxin, **kwargs)[source]
-
- Parameters:
-
- shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
- __module__='matplotlib.transforms'
- __str__()[source]
-
Возвращает str(self).
- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
Истинно, если это преобразование разделимо по осям x и y.
- classmatplotlib.transforms.BboxTransformTo(boxout, **kwargs)[source]
-
Bases:
Affine2DBaseПреобразование
BboxTransformToлинейно преобразует точки из единичного прямоугольника в заданныйBbox.Создать новое преобразование
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.- __annotations__={}
- __init__(boxout, **kwargs)[source]
-
Создать новое преобразование
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.
- __module__='matplotlib.transforms'
- __str__()[source]
-
Возвращает str(self).
- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
True, если это преобразование разделяемо по осям x и y.
- classmatplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs)[source]
-
Bases:
BboxTransformToПреобразование
BboxTransformToлинейно преобразует точки из единичного прямоугольника в заданныйBboxс фиксированной верхней левой точкой (0, 0).Создать новое преобразование
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.- __annotations__={}
- __module__='matplotlib.transforms'
- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- classmatplotlib.transforms.BlendedAffine2D(x_transform, y_transform, **kwargs)[source]
-
Bases:
_BlendedMixin,Affine2DBase«Смешанное» преобразование использует одно преобразование для оси x и другое преобразование для оси y.
Этот вариант является оптимизацией для случая, когда оба дочерних преобразования являются типа
Affine2DBase.Создать новое «смешанное» преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Оба x_transform и y_transform должны быть 2D аффинными преобразованиями.
Обычно вы не будете вызывать этот конструктор напрямую, а используете функцию
blended_transform_factory, которая может автоматически определить, какой тип смешанного преобразования создать.- __annotations__={}
- __init__(x_transform, y_transform, **kwargs)[source]
-
Создать новое «смешанное» преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Оба x_transform и y_transform должны быть 2D аффинными преобразованиями.
Обычно вы не будете вызывать этот конструктор напрямую, а используете функцию
blended_transform_factory, которая может автоматически определить, какой тип смешанного преобразования создать.
- __module__='matplotlib.transforms'
- 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, которая автоматически определяет, какой тип смешанного преобразования создать.- __annotations__={}
- __init__(x_transform, y_transform, **kwargs)[source]
-
Создает новое преобразование "смешанного" типа, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Обычно вы не будете вызывать этот конструктор напрямую, а используете функцию
blended_transform_factory, которая автоматически определяет, какой тип смешанного преобразования создать.
- __module__='matplotlib.transforms'
- contains_branch(other)[source]
-
Возвращает значение, указывающее, является ли данное преобразование поддеревом этого преобразования.
Этот метод использует равенство преобразований для определения поддеревьев, поэтому во многих ситуациях используется идентификатор объекта.
В случае, когда данное преобразование представляет собой всё это преобразование, возвращает True.
- propertydepth
-
Возвращает количество преобразований, которые были объединены для создания данного объекта Transform.
Примечание
В случае специального преобразования Composite, возвращается максимальная глубина из двух.
- frozen()[source]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()обычно использовалось.
- get_affine()[source]
-
Получает аффинное преобразование этого объекта.
- propertyhas_inverse
-
bool(x) -> bool
Возвращает True, если аргумент x истинный, иначе False. builtins 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. builtins True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
- is_separable=True
-
True, если это преобразование разделяемо по измерениям x и y.
- output_dims=2
-
Число выходных размерностей этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- pass_through=True
-
Если pass_through True, все предки всегда будут недействительными, даже если 'self' уже недействителен.
- transform_non_affine(points)[source]
-
Применяет только неаффинное преобразование.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно эквивалентно
transform(values). В аффинных преобразованиях это всегда бесполезно.- Parameters:
-
- valuesarray
-
Входные значения как NumPy массив длины
input_dimsили формы (N xinput_dims).
- Returns:
-
- array
-
Выходные значения как NumPy массив длины
output_dimsили формы (N xoutput_dims), в зависимости от ввода.
- classmatplotlib.transforms.CompositeAffine2D(a, b, **kwargs)[source]
-
Bases:
Affine2DBaseСоставной преобразователь, образованный применением преобразования a, а затем преобразования b.
Этот вариант является оптимизацией, которая обрабатывает случай, когда и a, и b являются 2D аффинами.
Создайте новый составной преобразователь, который является результатом применения
Affine2DBasea, а затемAffine2DBaseb.Обычно вы не будете вызывать этот конструктор напрямую, но напишете
a + b, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.- __annotations__={}
- __init__(a, b, **kwargs)[source]
-
Создайте новый составной преобразователь, который является результатом применения
Affine2DBasea, а затемAffine2DBaseb.Обычно вы не будете вызывать этот конструктор напрямую, но напишете
a + b, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.
- __module__='matplotlib.transforms'
- __str__()[source]
-
Возвращает str(self).
- propertydepth
-
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра преобразования.
Примечание
В случае составного преобразования возвращается максимальная глубина из двух.
- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- classmatplotlib.transforms.CompositeGenericTransform(a, b, **kwargs)[source]
-
Bases:
TransformСоставной преобразователь, образованный применением преобразователя a, а затем преобразователя b.
Этот «обобщенный» вариант может обрабатывать любые два произвольных преобразования.
Создает новый составной преобразователь, являющийся результатом применения преобразователя a, а затем преобразователя b.
Обычно вы не будете вызывать этот конструктор напрямую, но напишете
a + bвместо этого, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.- __annotations__={}
- __eq__(other)[source]
-
Возвращает self==value.
- __hash__=None
- __init__(a, b, **kwargs)[source]
-
Создает новый составной преобразователь, являющийся результатом применения преобразователя a, а затем преобразователя b.
Обычно вы не будете вызывать этот конструктор напрямую, но напишете
a + bвместо этого, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.
- __module__='matplotlib.transforms'
- __str__()[source]
-
Возвращает str(self).
- propertydepth
-
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра преобразователя.
Примечание
В случае специального составного преобразователя возвращается максимальная глубина из двух.
- frozen()[source]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()обычно используется.
- get_affine()[source]
-
Получает аффинную часть этого преобразования.
- propertyhas_inverse
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Builtins True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- inverted()[source]
-
Возвращает соответствующее обратное преобразование.
Он содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его инвертированной копии.
- propertyis_affine
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Builtins True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- propertyis_separable
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Builtins True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- pass_through=True
-
Если pass_through равно True, все предки всегда будут отмечены как недействительные, даже если 'self' уже недействителен.
- transform_affine(points)[source]
-
Применяет только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно нет операция. В аффинных преобразованиях это эквивалентно
transform(values).- Parameters:
-
- valuesarray
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Returns:
-
- array
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_non_affine(points)[source]
-
Применяет только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно эквивалентно
transform(values). В аффинных преобразованиях это всегда нет операция.- Parameters:
-
- valuesarray
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Returns:
-
- array
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- classmatplotlib.transforms.IdentityTransform(*args, **kwargs)[source]
-
Bases:
Affine2DBaseОсобый класс, реализующий тождественное преобразование быстрым способом.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет особого значения, кроме как для повышения удобочитаемости
str(transform)при DEBUG=True.
- __annotations__={}
- __module__='matplotlib.transforms'
- __str__()[source]
-
Возвращает str(self).
- frozen()[source]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, когда
copy.deepcopy()обычно может быть использован.
- get_affine()[source]
-
Получает аффинную часть этого преобразования.
- get_matrix()[source]
-
Получает матрицу для аффинной части этого преобразования.
- inverted()[source]
-
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его инвертированной копии.
- transform(points)[source]
-
Применяет это преобразование к заданному массиву значений.
- Параметры:
-
- valuesarray
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- array
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_affine(points)[source]
-
Применяет только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно является пустой операцией. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- valuesarray
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- array
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_non_affine(points)[source]
-
Применяет только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно эквивалентно
transform(values). В аффинных преобразованиях это всегда пустая операция.- Параметры:
-
- valuesarray
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- array
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_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 или None
-
Заблокированное значение для x0 или None для разблокировки.
- y0float или None
-
Заблокированное значение для y0 или None для разблокировки.
- x1float или None
-
Заблокированное значение для x1 или None для разблокировки.
- y1float или None
-
Заблокированное значение для y1 или None для разблокировки.
-
bbox
- __annotations__={}
- __init__(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[source]
-
- Parameters:
-
-
bbox
Bbox -
Оборачиваемый дочерний прямоугольник.
- x0float или None
-
Заблокированное значение для x0 или None для разблокировки.
- y0float или None
-
Заблокированное значение для y0 или None для разблокировки.
- x1float или None
-
Заблокированное значение для x1 или None для разблокировки.
- y1float или None
-
Заблокированное значение для y1 или None для разблокировки.
-
bbox
- __module__='matplotlib.transforms'
- __str__()[source]
-
Возвращает str(self).
- get_points()[source]
- propertylocked_x0
-
float или None: Используемое значение для заблокированного x0.
- propertylocked_x1
-
float или None: Используемое значение для заблокированного x1.
- propertylocked_y0
-
float или None: Используемое значение для заблокированного y0.
- propertylocked_y1
-
float или None: Используемое значение для заблокированного y1.
- classmatplotlib.transforms.ScaledTranslation(xt, yt, scale_trans, **kwargs)[source]
-
Bases:
Affine2DBaseПреобразование, которое выполняет сдвиг на xt и yt, после того, как xt и yt были преобразованы с помощью scale_trans.
- Parameters:
-
- короткое_названиеstr
-
Строка, представляющая "имя" преобразования. Имя не несёт никакой семантической нагрузки, кроме улучшения читаемости
str(transform)при DEBUG=True.
- __annotations__={}
- __init__(xt, yt, scale_trans, **kwargs)[source]
-
- Parameters:
-
- короткое_названиеstr
-
Строка, представляющая "имя" преобразования. Имя не несёт никакой семантической нагрузки, кроме улучшения читаемости
str(transform)при DEBUG=True.
- __module__='matplotlib.transforms'
- __str__()[source]
-
Возвращает str(self).
- get_matrix()[source]
-
Возвращает матрицу для аффинной части этого преобразования.
- classmatplotlib.transforms.Transform(shorthand_name=None)[source]
-
Bases:
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)).
- __annotations__={}
- __array__(*args, **kwargs)[source]
-
Интерфейс массива для доступа к матрице аффинного преобразования.
- classmethod__init_subclass__()[source]
-
Этот метод вызывается при создании подкласса.
По умолчанию он ничего не делает. Его можно переопределить, чтобы расширить подклассы.
- __module__='matplotlib.transforms'
- __sub__(other)[source]
-
Комбинирует self с обратным преобразованием other, отменяя одинаковые члены, если таковые имеются:
# In general: A - B == A + B.inverted() # (but see note regarding frozen transforms below). # If A "ends with" B (i.e. A == A' + B for some A') we can cancel # out B: (A' + B) - B == A' # Likewise, if B "starts with" A (B = A + B'), we can cancel out A: A - (A + B') == B'.inverted() == B'^-1
Отмена (а не простое возвращение
A + B.inverted()) важна по нескольким причинам:- Она предотвращает ошибки с плавающей запятой при вычислении обратного преобразования B:
B - Bгарантированно точно отменяется (что приводит к тождественному преобразованию), тогда какB + B.inverted()может отличаться на небольшой эпсилон. -
B.inverted()всегда возвращает замороженное преобразование: если вы вычислилиA + B + B.inverted()и позже изменилиB, тоB.inverted()не будет обновлён, и последние два члена больше не отменятся; с другой стороны,A + B - Bвсегда будет равноA, даже еслиBизменён.
- Она предотвращает ошибки с плавающей запятой при вычислении обратного преобразования B:
- contains_branch(other)[source]
-
Возвращает, является ли данное преобразование поддеревом этого преобразования.
Эта функция использует равенство преобразований для идентификации поддеревьев, поэтому во многих ситуациях используется идентификатор объекта.
В случае, когда данное преобразование представляет собой всё это преобразование, возвращает True.
- contains_branch_seperately(other_transform)[source]
-
Возвращает, является ли данный узел поддеревом этого преобразования в каждом измерении.
Часто это используется для идентификации, является ли преобразование сложным преобразованием, содержащим преобразование данных осей. Пример:
x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
- propertydepth
-
Возвращает количество преобразований, которые были объединены для создания этого экземпляра преобразования.
Примечание
В случае с композиционным преобразованием возвращается максимальная глубина из двух.
- 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]
-
Примените это преобразование к заданному массиву значений.
- Параметры:
-
- значениямассив
-
Вводные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращаемое значение:
-
- массив
-
Значения вывода в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от ввода.
- transform_affine(values)[source]
-
Примените только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно ничто. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- значениямассив
-
Вводные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращаемое значение:
-
- массив
-
Значения вывода в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от ввода.
- transform_angles(angles, pts, radians=False, pushoff=1e-05)[source]
-
Преобразуйте набор углов, закреплённых в определённых местах.
- Параметры:
-
- углы(N,) массив-подобный
-
Углы, которые нужно преобразовать.
- pts(N, 2) массив-подобный
-
Точки, где закреплены углы.
- радианыbool, по умолчанию: False
-
Являются ли углы радианами или градусами.
- pushofffloat
-
Для каждой точки в pts и угла в углах преобразованный угол вычисляется путём преобразования отрезка длины pushoff, начинающегося в этой точке и образующего этот угол относительно горизонтальной оси, и измерения угла между горизонтальной осью и преобразованным отрезком.
- Возвращаемое значение:
-
- (N,) массив
- transform_bbox(bbox)[source]
-
Преобразование заданной области.
Для более интеллектуальных преобразований, включающих кэширование (частая потребность в Matplotlib), см.
TransformedBbox.
- transform_non_affine(values)[source]
-
Примените только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно эквивалентно
transform(values). В аффинных преобразованиях это всегда ничто.- Параметры:
-
- значениямассив
-
Вводные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращаемое значение:
-
- массив
-
Значения вывода в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от ввода.
- transform_path(path)[source]
-
Применить преобразование к
Pathпути, возвращая новыйPath.В некоторых случаях это преобразование может вставить кривые в путь, который начинался как отрезки прямых.
- transform_point(point)[source]
-
Возвращает преобразованную точку.
Эта функция сохранена только для обратной совместимости; более общий метод
transformспособен преобразовывать как список точек, так и одну точку.Точка задается как последовательность длиной
input_dims. Преобразованная точка возвращается как последовательность длинойoutput_dims.
- classmatplotlib.transforms.TransformNode(shorthand_name=None)[source]
-
Базовый класс для всего, что участвует в дереве преобразований и должно делать недействительными своих родителей или быть сделано недействительным. Сюда входят классы, которые на самом деле не являются преобразованиями, такие как прямоугольники обрезки, так как некоторые преобразования зависят от прямоугольников обрезки для вычисления своих значений.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет особого значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
- INVALID=3
- INVALID_AFFINE=2
- INVALID_NON_AFFINE=1
- __annotations__={}
- __copy__()[source]
- __dict__=mappingproxy({'__module__': 'matplotlib.transforms', '__doc__': '\n Преобразование базового класса для всего, что участвует в дереве преобразований\n и должно делать недействительными своих родителей или быть сделанным недействительным. Сюда\n входят классы, которые на самом деле не являются преобразованиями, такие как прямоугольники обрезки,\n так как некоторые\n преобразования зависят от прямоугольников обрезки для вычисления своих значений.\n ', 'INVALID_NON_AFFINE': 1, 'INVALID_AFFINE': 2, 'INVALID': 3, 'is_affine': False, 'is_bbox': False, 'pass_through': False, '__init__': <function TransformNode.__init__>, '__getstate__': <function TransformNode.__getstate__>, '__setstate__': <function TransformNode.__setstate__>, '__copy__': <function TransformNode.__copy__>, 'invalidate': <function TransformNode.invalidate>, '_invalidate_internal': <function TransformNode._invalidate_internal>, 'set_children': <function TransformNode.set_children>, 'frozen': <function TransformNode.frozen>, '__dict__': <attribute '__dict__' of 'TransformNode' objects>, '__weakref__': <attribute '__weakref__' of 'TransformNode' objects>, '__annotations__': {}})
- __getstate__()[source]
- __init__(shorthand_name=None)[source]
-
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет особого значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
- __module__='matplotlib.transforms'
- __setstate__(data_dict)[source]
- __weakref__
-
список слабых ссылок на объект (если определен)
- frozen()[source]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()обычно используется.
- invalidate()[source]
-
Делает этот узел
TransformNodeнедействительным и запускает недействительность его предков. Следует вызывать всякий раз, когда преобразование изменяется.
- is_affine=False
- is_bbox=False
- pass_through=False
-
Если pass_through True, все предки всегда будут сделаны недействительными, даже если «self» уже недействителен.
- set_children(*children)[source]
-
Устанавливает дочерние элементы преобразования, чтобы система недействительности знала, какие преобразования могут сделать это преобразование недействительным. Следует вызывать из конструктора любых преобразований, которые зависят от других преобразований.
- классmatplotlib.transforms.TransformWrapper(child)[source]
-
Базы:
TransformВспомогательный класс, содержащий единственный трансформ и действующий эквивалентно ему.
Это полезно, если узел дерева трансформов необходимо заменить во время выполнения трансформом другого типа. Этот класс позволяет обеспечить корректное срабатывание инвалидации при такой замене.
TransformWrapperэкземпляры должны иметь одинаковые входные и выходные размерности на протяжении всего своего жизненного цикла, поэтому трансформ-дочерний элемент можно заменить только другим трансформом-дочерним элементом с теми же размерностями.child: Экземпляр
Transform. Этот дочерний элемент может быть позже заменён с помощьюset().- __annotations__={}
- __eq__(other)[source]
-
Возвращает self==value.
- __hash__=None
- __init__(child)[source]
-
child: Экземпляр
Transform. Этот дочерний элемент может быть позже заменён с помощьюset().
- __module__='matplotlib.transforms'
- __str__()[source]
-
Возвращает str(self).
- frozen()[source]
-
Возвращает замороженную копию этого узла трансформов. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для хранения ранее известного состояния трансформов, где
copy.deepcopy()обычно используется.
- свойствоhas_inverse
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- свойствоis_affine
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- свойствоis_separable
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- pass_through=True
-
Если pass_through равен True, все предки будут всегда аннулированы, даже если 'self' уже аннулирован.
- set(child)[source]
-
Заменяет текущий дочерний элемент этого трансформов на другой.
Новый дочерний элемент должен иметь такое же количество входных и выходных размерностей, как и текущий дочерний элемент.
- классmatplotlib.transforms.TransformedBbox(bbox, transform, **kwargs)[source]
-
Базы:
BboxBaseКласс
Bbox, который автоматически преобразуется заданным трансформом. При изменении дочернего прямоугольника или трансформов границы этого прямоугольника будут соответствующим образом обновляться.- Параметры:
-
-
bbox
Bbox -
transform
Transform
-
bbox
- __annotations__={}
- __init__(bbox, transform, **kwargs)[source]
-
- Параметры:
-
-
bbox
Bbox -
transform
Transform
-
bbox
- __module__='matplotlib.transforms'
- __str__()[source]
-
Возвращает str(self).
- get_points()[source]
- classmatplotlib.transforms.TransformedPatchPath(patch)[source]
-
Bases:
TransformedPathA
TransformedPatchPathкэширует неаффинное преобразованное копиюPatch. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования или объекта patch.- Параметры:
-
-
patch
Patch
-
patch
- __annotations__={}
- __init__(patch)[source]
-
- Параметры:
-
-
patch
Patch
-
patch
- __module__='matplotlib.transforms'
- classmatplotlib.transforms.TransformedPath(path, transform)[source]
-
Bases:
TransformNodeA
TransformedPathкэширует неаффинное преобразованное копиюPath. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования.Примечание
Пути считаются неизменяемыми этим классом. Любое обновление вершин/кодов пути не вызовет перерасчета преобразования.
- Параметры:
-
-
path
Path -
transform
Transform
-
path
- __annotations__={}
- __init__(path, transform)[source]
-
- Параметры:
-
-
path
Path -
transform
Transform
-
path
- __module__='matplotlib.transforms'
- get_affine()[source]
- get_fully_transformed_path()[source]
-
Возвращает полностью преобразованную копию пути дочернего элемента.
- get_transformed_path_and_affine()[source]
-
Возвращает копию пути дочернего элемента, с уже применённой неаффинной частью преобразования, а также аффинной частью пути, необходимой для завершения преобразования.
- get_transformed_points_and_affine()[source]
-
Возвращает копию пути дочернего элемента, с уже применённой неаффинной частью преобразования, а также аффинной частью пути, необходимой для завершения преобразования. В отличие от
get_transformed_path_and_affine(), интерполяция не будет выполнена.
- matplotlib.transforms.blended_transform_factory(x_transform, y_transform)[source]
-
Создаёт новое "смешанное" преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Возвращается более быстрая версия смешанного преобразования в случае, когда оба дочерних преобразования являются аффинными.
- matplotlib.transforms.composite_transform_factory(a, b)[source]
-
Создаёт новое составное преобразование, которое является результатом применения преобразования a, а затем преобразования b.
Предоставляются сокращенные версии смешанного преобразования для случаев, когда оба дочерних преобразования являются аффинными или одно или другое является тождественным преобразованием.
Составные преобразования также можно создавать с помощью оператора '+', например:
c = a + b
- matplotlib.transforms.interval_contains(interval, val)[source]
-
Проверка, включительно, входит ли заданное значение в интервал.
- Параметры:
-
- 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.6.0/api/transformations.html