matplotlib.transforms
В Matplotlib реализован механизм произвольных геометрических преобразований, используемый для определения конечного положения всех элементов, нарисованных на холсте.
Преобразования объединяются в деревья объектов TransformNode, чьё фактическое значение зависит от их потомков. При изменении содержимого потомков, их родители автоматически аннулируются. При следующем обращении к аннулированному преобразованию, оно вычисляется заново, чтобы отразить эти изменения. Подход аннулирования/кэширования предотвращает ненужные пересчёты преобразований и способствует лучшему взаимодействию.
Например, вот граф дерева преобразований, используемого для вывода данных на график:
Механизм может использоваться для аффинных и неаффинных преобразований. Однако, для скорости, мы хотим использовать движки отрисовки для выполнения аффинных преобразований, когда это возможно. Поэтому, возможно выполнять только аффинную или неаффинную часть преобразования над набором данных. Аффинная часть всегда предполагается после неаффинной. Для любого преобразования:
full transform == non-affine part + affine part
От движков отрисовки не ожидается, что они будут обрабатывать неаффинные преобразования самостоятельно.
См. учебник Учебник по преобразованиям для примеров использования преобразований.
- classmatplotlib.transforms.Affine2D(matrix=None, **kwargs)[исходный код]
-
Базовые классы:
Affine2DBaseМутирующее 2D аффинное преобразование.
Инициализация аффинного преобразования из 3x3 массива numpy с плавающей запятой:
a c e b d f 0 0 1
Если matrix имеет значение None, инициализируется с помощью тождественного преобразования.
- __init__(matrix=None, **kwargs)[исходный код]
-
Инициализация аффинного преобразования из 3x3 массива numpy с плавающей запятой:
a c e b d f 0 0 1
Если matrix имеет значение None, инициализируется с помощью тождественного преобразования.
- __module__='matplotlib.transforms'
- __str__()[исходный код]
-
Возвращает str(self).
- clear()[исходный код]
-
Сброс базовой матрицы до тождественного преобразования.
- staticfrom_values(a, b, c, d, e, f)[исходный код]
-
Создает новый экземпляр Affine2D из заданных значений:
a c e b d f 0 0 1
.
- get_matrix()[исходный код]
-
Получение базовой матрицы преобразования в виде 3x3 массива numpy:
a c e b d f 0 0 1
.
- staticidentity()[исходный код]
-
[Устарело] Возвращает новый объект
Affine2D, который является тождественным преобразованием.Если это преобразование не будет изменено позже, рассмотрите возможность использования более быстрого класса
IdentityTransformвместо него.Примечания
Устарело начиная с версии 3.6: Используйте Affine2D() вместо этого.
- rotate(theta)[исходный код]
-
Добавляет поворот (в радианах) к этому преобразованию на месте.
Возвращает self, поэтому этот метод может быть легко объединен с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- rotate_around(x, y, theta)[исходный код]
-
Добавляет поворот (в радианах) вокруг точки (x, y) на месте.
Возвращает self, поэтому этот метод может быть легко объединен с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- rotate_deg(degrees)[исходный код]
-
Добавляет поворот (в градусах) к этому преобразованию на месте.
Возвращает self, поэтому этот метод может быть легко объединен с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- rotate_deg_around(x, y, degrees)[исходный код]
-
Добавляет поворот (в градусах) вокруг точки (x, y) на месте.
Возвращает self, поэтому этот метод может быть легко объединен с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- scale(sx, sy=None)[исходный код]
-
Добавляет масштабирование на месте.
Если sy имеет значение None, тот же масштаб применяется как в направлениях x, так и y.
Возвращает self, поэтому этот метод может быть легко объединен с другими вызовами
rotate(),rotate_deg(),translate()иscale().
- set(other)[исходный код]
-
Установите это преобразование из замороженной копии другого объекта
Affine2DBase.
- set_matrix(mtx)[исходный код]
-
Установите базовую матрицу преобразования из массива numpy 3x3:
a c e b d f 0 0 1
.
- skew(xShear, yShear)[исходный код]
-
Добавить сдвиг на месте.
xShear и yShear — углы сдвига вдоль осей x и y соответственно в радианах.
Возвращает self, поэтому этот метод можно легко объединить с дополнительными вызовами
rotate(),rotate_deg(),translate()иscale().
- skew_deg(xShear, yShear)[исходный код]
-
Добавить сдвиг на месте.
xShear и yShear — углы сдвига вдоль осей x и y соответственно в градусах.
Возвращает self, поэтому этот метод можно легко объединить с дополнительными вызовами
rotate(),rotate_deg(),translate()иscale().
- translate(tx, ty)[исходный код]
-
Добавить сдвиг на месте.
Возвращает self, поэтому этот метод можно легко объединить с дополнительными вызовами
rotate(),rotate_deg(),translate()иscale().
- classmatplotlib.transforms.Affine2DBase(*args, **kwargs)[исходный код]
-
Базовые классы:
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()[исходный код]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где обычно может использоваться
copy.deepcopy().
- has_inverse=True
-
True, если у этого преобразования есть соответствующее обратное преобразование.
- input_dims=2
-
Количество входных измерений этого преобразования. В подклассе необходимо переопределить (целым числом).
- inverted()[исходный код]
-
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не приводит к соответствующему обновлению его инвертированной копии.
- propertyis_separable
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, и False в противном случае. Встроенные значения True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может иметь подклассов.
- output_dims=2
-
Количество выходных измерений этого преобразования. В подклассе необходимо переопределить (целым числом).
- to_values()[исходный код]
-
Возвращает значения матрицы в виде кортежа
(a, b, c, d, e, f).
- transform_affine(points)[исходный код]
-
Применяет только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).Для неаффинных преобразований это обычно пустая операция. Для аффинных преобразований это эквивалентно
transform(values).- Параметры:
-
- valuesarray
-
Входные значения в виде массива NumPy длины
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива NumPy длины
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- классmatplotlib.transforms.AffineBase(*args, **kwargs)[исходный код]
-
Базовый класс всех аффинных преобразований любого числа измерений.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме как для улучшения удобочитаемости
str(transform)при DEBUG=True.
- __annotations__={}
- __array__(*args, **kwargs)[исходный код]
-
Интерфейс массива для доступа к матрице аффинного преобразования данного преобразования.
- __eq__(other)[исходный код]
-
Возвращает self==value.
- __hash__=None
- __init__(*args, **kwargs)[исходный код]
-
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме как для улучшения удобочитаемости
str(transform)при DEBUG=True.
- __module__='matplotlib.transforms'
- get_affine()[исходный код]
-
Получить аффинную часть этого преобразования.
- is_affine=True
- transform(values)[исходный код]
-
Применить данное преобразование к заданному массиву values.
- Параметры:
-
- valuesмассив
-
Входные значения как массив NumPy длины
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения как массив NumPy длины
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_affine(values)[исходный код]
-
Применить только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).Для неаффинных преобразований это обычно ничего не делает. Для аффинных преобразований это эквивалентно
transform(values).- Параметры:
-
- valuesмассив
-
Входные значения как массив NumPy длины
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения как массив NumPy длины
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_non_affine(points)[исходный код]
-
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).Для неаффинных преобразований это обычно эквивалентно
transform(values). Для аффинных преобразований это всегда ничего не делает.- Параметры:
-
- valuesмассив
-
Входные значения как массив NumPy длины
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения как массив NumPy длины
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_path(path)[исходный код]
-
Применить преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может добавить кривые в путь, который изначально состоял из прямых отрезков.
- классmatplotlib.transforms.AffineDeltaTransform(transform, **kwargs)[исходный код]
-
Базовые классы:
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)[исходный код]
-
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме как для повышения удобочитаемости
str(transform)при DEBUG=True.
- __module__='matplotlib.transforms'
- __str__()[исходный код]
-
Возвращает str(self).
- get_matrix()[исходный код]
-
Получить матрицу аффинной части этого преобразования.
- классmatplotlib.transforms.Bbox(points, **kwargs)[исходный код]
-
Базовые классы:
BboxBaseИзменяемая область.
Примеры
Создание из известных границ
Конструктор по умолчанию принимает граничные "точки"
[[xmin, ymin], [xmax, ymax]].>>> Bbox([[1, 1], [3, 7]]) Bbox([[1.0, 1.0], [3.0, 7.0]])
В качестве альтернативы область можно создать из сглаженного массива точек, так называемых "расстояний"
(xmin, ymin, xmax, ymax)>>> Bbox.from_extents(1, 1, 3, 7) Bbox([[1.0, 1.0], [3.0, 7.0]])
или из "границ"
(xmin, ymin, width, height).>>> Bbox.from_bounds(1, 1, 2, 6) Bbox([[1.0, 1.0], [3.0, 7.0]])
Создание из наборов точек
Пустой объект для накопления областей — это нулевая область, представляющая пустое множество.
>>> Bbox.null() Bbox([[inf, inf], [-inf, -inf]])
Добавление точек к нулевой области даст область, охватывающую эти точки.
>>> box = Bbox.null() >>> box.update_from_data_xy([[1, 1]]) >>> box Bbox([[1.0, 1.0], [1.0, 1.0]]) >>> box.update_from_data_xy([[2, 3], [3, 2]], ignore=False) >>> box Bbox([[1.0, 1.0], [3.0, 3.0]])
Установка
ignore=Trueэквивалентна началу с нулевой области.>>> box.update_from_data_xy([[1, 1]], ignore=True) >>> box Bbox([[1.0, 1.0], [1.0, 1.0]])
Предупреждение
Рекомендуется всегда явно указывать
ignore. В противном случае значение по умолчаниюignoreможет быть изменено в любой момент кодом, имеющим доступ к вашей области, например, с помощью методаignore.Свойства нулевой области
Примечание
Текущее поведение
Bbox.null()может быть неожиданным, поскольку оно не обладает всеми свойствами «пустого множества» и, следовательно, не ведёт себя как нулевой объект в математическом смысле. В будущем мы можем изменить это поведение (с периодом устаревания).Нулевая область является нейтральным элементом для пересечений
>>> Bbox.intersection(Bbox([[1, 1], [3, 7]]), Bbox.null()) Bbox([[1.0, 1.0], [3.0, 7.0]])
кроме случая пересечения с самой собой, когда она возвращает всё пространство.
>>> Bbox.intersection(Bbox.null(), Bbox.null()) Bbox([[-inf, -inf], [inf, inf]])
Объединение, содержащее нулевую область, всегда вернёт всё пространство (а не другую область!)
>>> Bbox.union([Bbox([[0, 0], [0, 0]]), Bbox.null()]) Bbox([[-inf, -inf], [inf, inf]])
- Параметры:
-
- pointsndarray
-
Массив NumPy 2x2 вида
[[x0, y0], [x1, y1]].
- __annotations__={}
- __format__(fmt)[исходный код]
-
Форматировщик объекта по умолчанию.
- __init__(points, **kwargs)[исходный код]
-
- Параметры:
-
- pointsndarray
-
Массив NumPy 2x2 вида
[[x0, y0], [x1, y1]].
- __module__='matplotlib.transforms'
- __repr__()[исходный код]
-
Возвращает repr(self).
- __str__()[исходный код]
-
Возвращает str(self).
- статический методfrom_bounds(x0, y0, width, height)[исходный код]
-
Создаёт новую
Bboxиз x0, y0, width и height.width и height могут быть отрицательными.
- статический методfrom_extents(*args, minpos=None)[исходный код]
-
Создаёт новую область из left, bottom, right и top.
Ось y возрастает вверх.
- Параметры:
-
- left, bottom, right, topfloat
-
Четыре крайние точки области.
- minposfloat или None
-
Если указано, область будет иметь минимальное положительное значение. Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей запятой.
- frozen()[исходный код]
-
Базовый класс для всего, что участвует в дереве преобразований и должно обновлять своих родителей или обновляться само. Это включает классы, не являющиеся преобразованиями, например области, поскольку некоторые преобразования зависят от областей при вычислении своих значений.
- get_points()[исходный код]
-
Получить точки области непосредственно в виде массива NumPy вида:
[[x0, y0], [x1, y1]].
- ignore(value)[исходный код]
-
Установить, следует ли игнорировать существующие границы области при последующих вызовах
update_from_data_xy().- valuebool
-
- Если
True, последующие вызовыupdate_from_data_xy()проигнорируют существующие границыBbox. - Если
False, последующие вызовыupdate_from_data_xy()будут учитывать существующие границыBbox.
- Если
- свойствоintervalx
-
Пара координат x, определяющих область.
Их порядок слева направо не гарантируется.
- свойствоintervaly
-
Пара координат y, определяющих область.
Их порядок снизу вверх не гарантируется.
- свойствоminpos
-
Минимальное положительное значение в обоих направлениях в рамках Bbox.
Это полезно при работе с логарифмическими масштабами и другими масштабами, где отрицательные границы приводят к ошибкам с плавающей точкой, и будет использоваться как минимальное значение вместо p0.
- свойствоminposx
-
Минимальное положительное значение в направлении x в рамках Bbox.
Это полезно при работе с логарифмическими масштабами и другими масштабами, где отрицательные границы приводят к ошибкам с плавающей точкой, и будет использоваться как минимальное значение x-протяженности вместо x0.
- свойствоminposy
-
Минимальное положительное значение в направлении y в рамках Bbox.
Это полезно при работе с логарифмическими масштабами и другими масштабами, где отрицательные границы приводят к ошибкам с плавающей точкой, и будет использоваться как минимальное значение y-протяженности вместо y0.
- mutated()[исходный код]
-
Возвращает, изменился ли Bbox с момента инициализации.
- mutatedx()[исходный код]
-
Возвращает, изменились ли пределы по оси x с момента инициализации.
- mutatedy()[исходный код]
-
Возвращает, изменились ли пределы по оси y с момента инициализации.
- статическийnull()[исходный код]
-
Создает новый нулевой
Bboxот (inf, inf) до (-inf, -inf).
- свойствоp0
-
Первая пара координат (x, y), определяющих прямоугольник.
Это не гарантирует, что это нижний левый угол (для этого используйте
min).
- свойствоp1
-
Вторая пара координат (x, y), определяющих прямоугольник.
Это не гарантирует, что это верхний правый угол (для этого используйте
max).
- set(other)[исходный код]
-
Устанавливает этот прямоугольник из «замороженных» границ другого
Bbox.
- set_points(points)[исходный код]
-
Установка точек прямоугольника напрямую из массива numpy следующего вида:
[[x0, y0], [x1, y1]]. Проверка на ошибки не выполняется, так как этот метод предназначен в основном для внутреннего использования.
- статическийunit()[исходный код]
-
Создает новый единичный
Bboxот (0, 0) до (1, 1).
- update_from_data_x(x, ignore=None)[исходный код]
-
Обновление границ по оси x
Bboxна основе переданных данных. После обновления границы будут иметь положительную ширину, а x0 будет минимальным значением.
- update_from_data_xy(xy, ignore=None, updatex=True, updatey=True)[исходный код]
-
Обновление границ
Bboxна основе переданных данных. После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.- Параметры:
- update_from_data_y(y, ignore=None)[исходный код]
-
Обновление границ по оси y
Bboxна основе переданных данных. После обновления границы будут иметь положительную высоту, а y0 будет минимальным значением.
- update_from_path(path, ignore=None, updatex=True, updatey=True)[исходный код]
-
Обновление границ
Bboxдля охвата вершин переданного пути. После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.
- свойствоx0
-
Первая из пары координат x, определяющих прямоугольник.
Не гарантируется, что она меньше
x1(для этого используйтеxmin).
- свойствоx1
-
Вторая из пары координат x, определяющих прямоугольник.
Не гарантируется, что она больше
x0(для этого используйтеxmax).
- свойствоy0
-
Первая из пары координат y, определяющих прямоугольник.
Не гарантируется, что она меньше
y1(для этого используйтеymin).
- свойствоy1
-
Вторая из пары координат y, определяющих прямоугольник.
Не гарантируется, что она больше
y0(для этого используйтеymax).
- классmatplotlib.transforms.BboxBase(shorthand_name=None)[исходный код]
-
Базовые классы:
TransformNodeБазовый класс всех прямоугольников.
Этот класс неизменяемый;
Bbox— это изменяемый подкласс.Каноническое представление — это две точки без ограничений на их порядок. Предоставляются удобные свойства для получения левой, нижней, правой и верхней границ, а также ширины и высоты, но они не хранятся явно.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
- __annotations__={}
- __array__(*args, **kwargs)[исходный код]
- __module__='matplotlib.transforms'
- anchored(c, container=None)[исходный код]
-
Возвращает копию
Bbox, привязанную к c внутри container.- Параметры:
-
- c(float, float) или {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}
-
Пара (x, y) относительных координат (0 — слева или снизу, 1 — справа или сверху), 'C' (центр) или направлением сторон ('SW' — юго-запад, является нижним левым углом и т. д.).
-
container
Bbox, необязательно -
Прямоугольник, внутри которого размещается
Bbox; по умолчанию используется начальныйBbox.
См. также
- coefs={'C': (0.5, 0.5), 'E': (1.0, 0.5), 'N': (0.5, 1.0), 'NE': (1.0, 1.0), 'NW': (0, 1.0), 'S': (0.5, 0), 'SE': (1.0, 0), 'SW': (0, 0), 'W': (0, 0.5)}
- contains(x, y)[исходный код]
-
Возвращает, находится ли
(x, y)внутри прямоугольника или на его границе.
- corners()[исходный код]
-
Возвращает углы этого прямоугольника в виде массива точек.
Конкретно, это возвращает массив
[[x0, y0], [x0, y1], [x1, y0], [x1, y1]].
- count_contains(vertices)[исходный код]
-
Подсчитывает количество вершин, содержащихся в
Bbox. Вершины с нечисловыми x или y игнорируются.- Параметры:
-
- verticesМассив NumPy размером Nx2.
- count_overlaps(bboxes)[исходный код]
-
Подсчитывает количество прямоугольников, которые перекрываются с этим.
- Параметры:
-
-
bboxesпоследовательность
BboxBase
-
bboxesпоследовательность
- expanded(sw, sh)[исходный код]
-
Создаёт
Bbox, расширив этот вокруг центра на факторы sw и sh.
- frozen()[исходный код]
-
Базовый класс для всего, что участвует в дереве преобразований и должно аннулировать своих родителей или быть аннулированным. Это включает классы, которые на самом деле не являются преобразованиями, такие как прямоугольные области, поскольку некоторые преобразования зависят от прямоугольных областей для вычисления своих значений.
- fully_contains(x, y)[исходный код]
-
Возвращает значение, соответствует ли
x, yпрямоугольной области, но не на её границе.
- fully_overlaps(other)[исходный код]
-
Возвращает значение, перекрываются ли эта прямоугольная область и другая прямоугольная область, не включая границы.
- Параметры:
-
-
other
BboxBase
-
other
- get_points()[исходный код]
- propertyheight
-
Высота прямоугольной области (знаковая).
- staticintersection(bbox1, bbox2)[исходный код]
-
Возвращает пересечение bbox1 и bbox2, если они пересекаются, или None, если нет.
- propertyintervalx
-
Пара координат x, определяющих прямоугольную область.
Не гарантируется, что они отсортированы слева направо.
- propertyintervaly
-
Пара координат y, определяющих прямоугольную область.
Не гарантируется, что они отсортированы снизу вверх.
- is_affine=True
- is_bbox=True
- propertymax
-
Верхне-правая вершина прямоугольной области.
- propertymin
-
Нижняя-левая вершина прямоугольной области.
- overlaps(other)[исходный код]
-
Возвращает значение, перекрываются ли эта прямоугольная область и другая прямоугольная область.
- Параметры:
-
-
other
BboxBase
-
other
- propertyp0
-
Первая пара координат (x, y), определяющих прямоугольную область.
Не гарантируется, что это нижняя левая вершина (для этого используйте
min).
- propertyp1
-
Вторая пара координат (x, y), определяющих прямоугольную область.
Не гарантируется, что это верхняя правая вершина (для этого используйте
max).
- padded(p)[исходный код]
-
Создает
Bboxпутём добавления отступа по всем четырём сторонам этой прямоугольной области на p.
- rotated(radians)[исходный код]
-
Возвращает прямоугольную область, выровненную по осям, которая ограничивает результат поворота этой
Bboxна угол radians.
- shrunk(mx, my)[исходный код]
-
Возвращает копию
Bbox, уменьшенную в x направлении на коэффициент mx и в y направлении на коэффициент my. Нижняя левая вершина прямоугольной области остаётся неизменной. Обычно mx и my будут меньше 1, но это не проверяется.
- shrunk_to_aspect(box_aspect, container=None, fig_aspect=1.0)[исходный код]
-
Возвращает копию
Bbox, уменьшенную так, чтобы она была максимально большой при заданном соотношении сторон box_aspect. Если координаты прямоугольника относительны (т.е. доли от большего прямоугольника, например, фигуры), то физическое соотношение сторон этой фигуры задается с помощью fig_aspect, так что box_aspect также может быть задано как отношение абсолютных размеров, а не относительных.
- propertysize
-
Ширина и высота прямоугольника.
- splitx(*args)[исходный код]
-
Возвращает список новых прямоугольников
Bbox, полученных путем разделения исходного на вертикальные линии в заданных долях с помощью args.
- splity(*args)[исходный код]
-
Возвращает список новых прямоугольников
Bbox, полученных путем разделения исходного на горизонтальные линии в заданных долях с помощью args.
- transformed(transform)[исходный код]
-
Создает
Bboxпутем статического преобразования этого прямоугольника с помощью transform.
- translated(tx, ty)[исходный код]
-
Создает
Bboxпутем перемещения этого прямоугольника на tx и ty.
- staticunion(bboxes)[исходный код]
-
Возвращает
Bbox, содержащий все заданные bboxes.
- propertywidth
-
Ширина прямоугольника.
- propertyx0
-
Первая из пары координат x, определяющих прямоугольник.
Не гарантируется, что она меньше, чем
x1(для этого используйтеxmin).
- propertyx1
-
Вторая из пары координат x, определяющих прямоугольник.
Не гарантируется, что она больше, чем
x0(для этого используйтеxmax).
- propertyxmax
-
Правый край прямоугольника.
- propertyxmin
-
Левый край прямоугольника.
- propertyy0
-
Первая из пары координат y, определяющих прямоугольник.
Не гарантируется, что она меньше, чем
y1(для этого используйтеymin).
- propertyy1
-
Вторая из пары координат y, определяющих прямоугольник.
Не гарантируется, что она больше, чем
y0(для этого используйтеymax).
- propertyymax
-
Верхний край прямоугольника.
- propertyymin
-
Нижний край прямоугольника.
- classmatplotlib.transforms.BboxTransform(boxin, boxout, **kwargs)[исходный код]
-
Базовые классы:
Affine2DBaseЛинейно преобразует точки из одной
Bboxв другую.Создаёт новый объект
BboxTransform, линейно преобразующий точки из boxin в boxout.- __annotations__={}
- __init__(boxin, boxout, **kwargs)[исходный код]
-
Создаёт новый
BboxTransform, линейно преобразующий точки из boxin в boxout.
- __module__='matplotlib.transforms'
- __str__()[исходный код]
-
Возвращает str(self).
- get_matrix()[исходный код]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
Истинно, если это преобразование разделимо по осям x и y.
- classmatplotlib.transforms.BboxTransformFrom(boxin, **kwargs)[исходный код]
-
Базовые классы:
Affine2DBaseBboxTransformFromЛинейно преобразует точки из заданнойBboxв единичный прямоугольник.- Параметры:
-
- shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
- __annotations__={}
- __init__(boxin, **kwargs)[исходный код]
-
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
- __module__='matplotlib.transforms'
- __str__()[исходный код]
-
Возвращает str(self).
- get_matrix()[исходный код]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
Истинно, если это преобразование разделимо по осям x и y.
- классmatplotlib.transforms.BboxTransformTo(boxout, **kwargs)[исходный код]
-
Базовые классы:
Affine2DBaseПреобразование
BboxTransformToлинейно преобразует точки из единичного прямоугольника в заданныйBbox.Создать новое преобразование
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.- __annotations__={}
- __init__(boxout, **kwargs)[исходный код]
-
Создать новое преобразование
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.
- __module__='matplotlib.transforms'
- __str__()[исходный код]
-
Возвращает str(self).
- get_matrix()[исходный код]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
True, если это преобразование разделяемо по осям x и y.
- классmatplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs)[исходный код]
-
Базовые классы:
BboxTransformToПреобразование
BboxTransformToлинейно преобразует точки из единичного прямоугольника в заданныйBboxс фиксированной верхней левой точкой (0, 0).Создать новое преобразование
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.- __annotations__={}
- __module__='matplotlib.transforms'
- get_matrix()[исходный код]
-
Получить матрицу для аффинной части этого преобразования.
- классmatplotlib.transforms.BlendedAffine2D(x_transform, y_transform, **kwargs)[исходный код]
-
Базовые классы:
_BlendedMixin,Affine2DBase«Смешанное» преобразование использует одно преобразование для оси x и другое преобразование для оси y.
Этот вариант является оптимизацией для случая, когда оба дочерних преобразования являются типа
Affine2DBase.Создать новое «смешанное» преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Оба x_transform и y_transform должны быть 2D аффинными преобразованиями.
Обычно вы не будете вызывать этот конструктор напрямую, а используете функцию
blended_transform_factory, которая может автоматически определить, какой тип смешанного преобразования создать.- __annotations__={}
- __init__(x_transform, y_transform, **kwargs)[исходный код]
-
Создать новое «смешанное» преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Оба x_transform и y_transform должны быть 2D аффинными преобразованиями.
Обычно вы не будете вызывать этот конструктор напрямую, а используете функцию
blended_transform_factory, которая может автоматически определить, какой тип смешанного преобразования создать.
- __module__='matplotlib.transforms'
- get_matrix()[исходный код]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
True, если это преобразование разделяемо по осям x и y.
- классmatplotlib.transforms.BlendedGenericTransform(x_transform, y_transform, **kwargs)[исходный код]
-
Базовые классы:
_BlendedMixin,TransformПреобразование «смешанного» типа использует одно преобразование для оси x и другое — для оси y.
Этот «обобщенный» вариант может обрабатывать любые заданные преобразования в направлениях x и y.
Создает новое преобразование «смешанного» типа, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Обычно вы не будете вызывать этот конструктор напрямую, а используете функцию
blended_transform_factory, которая автоматически определяет, какой тип смешанного преобразования создать.- __annotations__={}
- __init__(x_transform, y_transform, **kwargs)[исходный код]
-
Создает новое преобразование «смешанного» типа, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Обычно вы не будете вызывать этот конструктор напрямую, а используете функцию
blended_transform_factory, которая автоматически определяет, какой тип смешанного преобразования создать.
- __module__='matplotlib.transforms'
- contains_branch(other)[исходный код]
-
Возвращает значение, указывающее, является ли данное преобразование поддеревом этого преобразования.
Этот метод использует равенство преобразований для определения поддеревьев, поэтому во многих ситуациях используется идентификатор объекта.
В случае, когда данное преобразование представляет собой всё это преобразование, возвращает True.
- свойствоdepth
-
Возвращает количество преобразований, которые были объединены для создания данного объекта Transform.
Примечание
В случае специального преобразования Composite возвращается максимальная глубина из двух.
- frozen()[исходный код]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()обычно использовалось.
- get_affine()[исходный код]
-
Получает аффинное преобразование этого объекта.
- свойствоhas_inverse
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассирован.
- input_dims=2
-
Число входных размерностей этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- inverted()[исходный код]
-
Возвращает соответствующее обратное преобразование.
В нем хранится
x == self.inverted().transform(self.transform(x)).Результат работы этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его инвертированной копии.
- свойствоis_affine
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассирован.
- is_separable=True
-
True, если это преобразование разделяемо по измерениям x и y.
- output_dims=2
-
Число выходных размерностей этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- pass_through=True
-
Если pass_through имеет значение True, все предки всегда будут недействительными, даже если 'self' уже недействителен.
- transform_non_affine(points)[исходный код]
-
Применяет только неаффинное преобразование.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).Для неаффинных преобразований это обычно эквивалентно
transform(values). Для аффинных преобразований это всегда бесполезно.- Параметры:
-
- valuesмассив
-
Входные значения в виде массива NumPy длины
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива NumPy длины
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- классmatplotlib.transforms.CompositeAffine2D(a, b, **kwargs)[исходный код]
-
Базовые классы:
Affine2DBaseСоставной преобразователь, образованный применением преобразования a, а затем преобразования b.
Этот вариант является оптимизацией, которая обрабатывает случай, когда и a, и b являются 2D-аффинными преобразованиями.
Создайте новый составной преобразователь, который является результатом применения
Affine2DBasea, а затемAffine2DBaseb.Обычно вы не будете вызывать этот конструктор напрямую, а напишете
a + b, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.- __annotations__={}
- __init__(a, b, **kwargs)[исходный код]
-
Создайте новый составной преобразователь, который является результатом применения
Affine2DBasea, а затемAffine2DBaseb.Обычно вы не будете вызывать этот конструктор напрямую, а напишете
a + b, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.
- __module__='matplotlib.transforms'
- __str__()[исходный код]
-
Возвращает str(self).
- свойствоdepth
-
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра преобразования.
Примечание
В случае составного преобразования возвращается максимальная глубина из двух.
- get_matrix()[исходный код]
-
Получить матрицу для аффинной части этого преобразования.
- классmatplotlib.transforms.CompositeGenericTransform(a, b, **kwargs)[исходный код]
-
Базовые классы:
TransformСоставной преобразователь, образованный применением преобразователя a, а затем преобразователя b.
Этот «обобщенный» вариант может обрабатывать любые два произвольных преобразования.
Создает новый составной преобразователь, являющийся результатом применения преобразователя a, а затем преобразователя b.
Обычно вы не будете вызывать этот конструктор напрямую, но напишете
a + bвместо этого, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.- __annotations__={}
- __eq__(other)[исходный код]
-
Возвращает self==value.
- __hash__=None
- __init__(a, b, **kwargs)[исходный код]
-
Создает новый составной преобразователь, являющийся результатом применения преобразователя a, а затем преобразователя b.
Обычно вы не будете вызывать этот конструктор напрямую, но напишете
a + bвместо этого, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.
- __module__='matplotlib.transforms'
- __str__()[исходный код]
-
Возвращает str(self).
- propertydepth
-
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра преобразователя.
Примечание
В случае специального составного преобразователя возвращается максимальная глубина из двух.
- frozen()[исходный код]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()обычно используется.
- get_affine()[исходный код]
-
Получает аффинную часть этого преобразования.
- propertyhas_inverse
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Встроенные значения True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- inverted()[исходный код]
-
Возвращает соответствующее обратное преобразование.
Он содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его инвертированной копии.
- propertyis_affine
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Встроенные значения True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- propertyis_separable
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Встроенные значения True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- pass_through=True
-
Если pass_through равно True, все предки всегда будут отмечены как недействительные, даже если 'self' уже недействителен.
- transform_affine(points)[исходный код]
-
Применяет только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно пустая операция. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- valuesarray
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращаемое значение:
-
- array
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_non_affine(points)[исходный код]
-
Применяет только неаффинную часть этого преобразования.
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.IdentityTransform(*args, **kwargs)[исходный код]
-
Базовые классы:
Affine2DBaseОсобый класс, реализующий тождественное преобразование быстрым способом.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет особого значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
- __annotations__={}
- __module__='matplotlib.transforms'
- __str__()[исходный код]
-
Возвращает str(self).
- frozen()[исходный код]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, когда
copy.deepcopy()обычно может быть использован.
- get_affine()[исходный код]
-
Получает аффинную часть этого преобразования.
- get_matrix()[исходный код]
-
Получает матрицу для аффинной части этого преобразования.
- inverted()[исходный код]
-
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его инвертированной копии.
- transform(points)[исходный код]
-
Применяет это преобразование к заданному массиву значений.
- Параметры:
-
- valuesarray
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращает:
-
- array
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от входных данных.
- transform_affine(points)[исходный код]
-
Применяет только аффинную часть этого преобразования к заданному массиву значений.
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)[исходный код]
-
Применяет только неаффинную часть этого преобразования.
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)[исходный код]
-
Применяет преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставлять кривые в путь, который изначально состоял из отрезков прямых.
- классmatplotlib.transforms.LockableBbox(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[исходный код]
-
Базовые классы:
BboxBaseBbox, у которого некоторые элементы могут быть зафиксированы на определенных значениях.При изменении дочернего прямоугольника границы этого прямоугольника будут обновляться соответствующим образом, за исключением зафиксированных элементов.
- Параметры:
-
-
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)[исходный код]
-
- Параметры:
-
-
bbox
Bbox -
Дочерний прямоугольник-обертка.
- x0float или None
-
Зафиксированное значение x0 или None для снятия фиксации.
- y0float или None
-
Зафиксированное значение y0 или None для снятия фиксации.
- x1float или None
-
Зафиксированное значение x1 или None для снятия фиксации.
- y1float или None
-
Зафиксированное значение y1 или None для снятия фиксации.
-
bbox
- __module__='matplotlib.transforms'
- __str__()[исходный код]
-
Возвращает str(self).
- get_points()[исходный код]
- 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)[исходный код]
-
Базовые классы:
Affine2DBaseПреобразование, которое выполняет сдвиг на xt и yt, после того, как xt и yt были преобразованы с помощью scale_trans.
- Параметры:
-
- короткое_названиеstr
-
Строка, представляющая "имя" преобразования. Имя не несёт никакой семантической нагрузки, кроме улучшения читаемости
str(transform)при DEBUG=True.
- __annotations__={}
- __init__(xt, yt, scale_trans, **kwargs)[исходный код]
-
- Параметры:
-
- короткое_названиеstr
-
Строка, представляющая "имя" преобразования. Имя не несёт никакой семантической нагрузки, кроме улучшения читаемости
str(transform)при DEBUG=True.
- __module__='matplotlib.transforms'
- __str__()[исходный код]
-
Возвращает str(self).
- get_matrix()[исходный код]
-
Возвращает матрицу для аффинной части этого преобразования.
- classmatplotlib.transforms.Transform(shorthand_name=None)[исходный код]
-
Базовые классы:
TransformNodeБазовый класс всех экземпляров
TransformNode, которые фактически выполняют преобразование.Все неаффинные преобразования должны быть подклассами этого класса. Новые аффинные преобразования должны быть подклассами
Affine2D.Подклассы этого класса должны переопределить следующие члены (как минимум):
input_dimsoutput_dimstransform()-
inverted()(если обратное преобразование существует)
Следующие атрибуты можно переопределить, если значение по умолчанию не подходит:
-
is_separable(по умолчанию True для преобразований 1D -> 1D, False в противном случае) -
has_inverse(по умолчанию True, еслиinverted()переопределён, False в противном случае)
Если преобразование должно выполнять нестандартные действия с объектами
matplotlib.path.Path, например, добавлять кривые там, где были отрезки прямых, оно должно переопределить:- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения читабельности
str(transform)при DEBUG=True.
- __add__(other)[исходный код]
-
Объединяет два преобразования так, что self выполняется перед other.
A + Bвозвращает преобразованиеCтак, чтоC.transform(x) == B.transform(A.transform(x)).
- __annotations__={}
- __array__(*args, **kwargs)[исходный код]
-
Интерфейс массива для доступа к матрице аффинного преобразования.
- classmethod__init_subclass__()[исходный код]
-
Этот метод вызывается при создании подкласса.
По умолчанию он ничего не делает. Его можно переопределить, чтобы расширить подклассы.
- __module__='matplotlib.transforms'
- __sub__(other)[исходный код]
-
Комбинирует self с обратным преобразованием other, отменяя одинаковые члены, если таковые имеются:
# In general: A - B == A + B.inverted() # (but see note regarding frozen transforms below). # If A "ends with" B (i.e. A == A' + B for some A') we can cancel # out B: (A' + B) - B == A' # Likewise, if B "starts with" A (B = A + B'), we can cancel out A: A - (A + B') == B'.inverted() == B'^-1
Отмена (а не простое возвращение
A + B.inverted()) важна по нескольким причинам:- Она предотвращает ошибки с плавающей запятой при вычислении обратного преобразования B:
B - Bгарантированно точно отменяется (что приводит к тождественному преобразованию), тогда какB + B.inverted()может отличаться на небольшой эпсилон. -
B.inverted()всегда возвращает замороженное преобразование: если вы вычислилиA + B + B.inverted()и позже изменилиB, тоB.inverted()не будет обновлён, и последние два члена больше не отменятся; с другой стороны,A + B - Bвсегда будет равноA, даже еслиBизменён.
- Она предотвращает ошибки с плавающей запятой при вычислении обратного преобразования B:
- contains_branch(other)[исходный код]
-
Возвращает, является ли данное преобразование поддеревом этого преобразования.
Эта функция использует равенство преобразований для идентификации поддеревьев, поэтому во многих ситуациях используется идентификатор объекта.
В случае, когда данное преобразование представляет собой всё это преобразование, возвращает True.
- contains_branch_seperately(other_transform)[исходный код]
-
Возвращает, является ли данный узел поддеревом этого преобразования в каждом измерении.
Часто это используется, чтобы определить, является ли преобразование составным преобразованием, содержащим преобразование данных осей. Пример:
x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
- propertydepth
-
Возвращает количество преобразований, которые были объединены для создания этого экземпляра преобразования.
Примечание
В случае с композиционным преобразованием возвращается максимальная глубина из двух.
- get_affine()[исходный код]
-
Получить аффинную часть этого преобразования.
- get_matrix()[исходный код]
-
Получить матрицу аффинной части этого преобразования.
- has_inverse=False
-
True, если у этого преобразования есть соответствующее обратное преобразование.
- input_dims=None
-
Количество входных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- inverted()[исходный код]
-
Возвращает соответствующее обратное преобразование.
Он содержит
x == self.inverted().transform(self.transform(x)).Возвращаемое значение этого метода следует рассматривать как временное. Обновление self не приводит к соответствующему обновлению его обратной копии.
- is_separable=False
-
True, если это преобразование разделимо по измерениям x и y.
- output_dims=None
-
Количество выходных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- transform(values)[исходный код]
-
Примените это преобразование к заданному массиву значений.
- Параметры:
-
- значениямассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращаемое значение:
-
- массив
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от ввода.
- transform_affine(values)[исходный код]
-
Примените только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).Для неаффинных преобразований это обычно ничто. Для аффинных преобразований это эквивалентно
transform(values).- Параметры:
-
- значениямассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращаемое значение:
-
- массив
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от ввода.
- transform_angles(angles, pts, radians=False, pushoff=1e-05)[исходный код]
-
Преобразуйте набор углов, закреплённых в определённых местах.
- Параметры:
-
- углы(N,) массив-подобный
-
Углы, которые нужно преобразовать.
- pts(N, 2) массив-подобный
-
Точки, где закреплены углы.
- радианыbool, по умолчанию: False
-
Заданы ли углы в радианах или градусах.
- pushofffloat
-
Для каждой точки в pts и угла в углах преобразованный угол вычисляется путём преобразования отрезка длины pushoff, начинающегося в этой точке и образующего этот угол относительно горизонтальной оси, и измерения угла между горизонтальной осью и преобразованным отрезком.
- Возвращаемое значение:
-
- (N,) массив
- transform_bbox(bbox)[исходный код]
-
Преобразует заданную область.
Для более интеллектуальных преобразований с кэшированием (часто необходимых в Matplotlib) см.
TransformedBbox.
- transform_non_affine(values)[исходный код]
-
Примените только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).Для неаффинных преобразований это обычно эквивалентно
transform(values). Для аффинных преобразований это всегда ничто.- Параметры:
-
- значениямассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
- Возвращаемое значение:
-
- массив
-
Выходные значения в виде массива NumPy длиной
output_dimsили формы (N xoutput_dims), в зависимости от ввода.
- transform_path(path)[исходный код]
-
Применить преобразование к
Pathпути, возвращая новыйPath.В некоторых случаях это преобразование может вставить кривые в путь, который изначально состоял из отрезков прямых.
- transform_point(point)[исходный код]
-
Возвращает преобразованную точку.
Эта функция сохранена только для обратной совместимости; более общий метод
transformспособен преобразовывать как список точек, так и одну точку.Точка задаётся как последовательность длиной
input_dims. Преобразованная точка возвращается как последовательность длинойoutput_dims.
- классmatplotlib.transforms.TransformNode(shorthand_name=None)[источник]
-
Базовый класс для всего, что участвует в дереве преобразований и должно делать недействительными своих родителей или быть сделано недействительным. Сюда входят классы, которые на самом деле не являются преобразованиями, такие как прямоугольники обрезки, так как некоторые преобразования зависят от прямоугольников обрезки для вычисления своих значений.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет особого значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
- INVALID=3
- INVALID_AFFINE=2
- INVALID_NON_AFFINE=1
- __annotations__={}
- __copy__()[источник]
- __dict__=mappingproxy({'__module__': 'matplotlib.transforms', '__doc__': '\n Преобразование базового класса для всего, что участвует в дереве преобразований\n и должно делать недействительными своих родителей или быть сделанным недействительным. Сюда\n входят классы, которые на самом деле не являются преобразованиями, такие как прямоугольники обрезки,\n так как некоторые\n преобразования зависят от прямоугольников обрезки для вычисления своих значений.\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__()[источник]
- __init__(shorthand_name=None)[источник]
-
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет особого значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
- __module__='matplotlib.transforms'
- __setstate__(data_dict)[источник]
- __weakref__
-
список слабых ссылок на объект (если определен)
- frozen()[источник]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()обычно используется.
- invalidate()[источник]
-
Делает этот узел
TransformNodeнедействительным и запускает недействительность его предков. Следует вызывать всякий раз, когда преобразование изменяется.
- is_affine=False
- is_bbox=False
- pass_through=False
-
Если pass_through равно True, все предки всегда будут сделаны недействительными, даже если «self» уже недействителен.
- set_children(*children)[источник]
-
Устанавливает дочерние элементы преобразования, чтобы система недействительности знала, какие преобразования могут сделать это преобразование недействительным. Следует вызывать из конструктора любых преобразований, которые зависят от других преобразований.
- классmatplotlib.transforms.TransformWrapper(child)[источник]
-
Базовые классы:
TransformВспомогательный класс, содержащий единственное преобразование и действующий эквивалентно ему.
Это полезно, если узел дерева преобразований необходимо заменить во время выполнения преобразованием другого типа. Этот класс позволяет обеспечить корректное срабатывание инвалидации при такой замене.
Экземпляры
TransformWrapperдолжны иметь одинаковые входные и выходные размерности на протяжении всего своего жизненного цикла, поэтому дочернее преобразование можно заменить только другим дочерним преобразованием с теми же размерностями.child: Экземпляр
Transform. Этот дочерний элемент может быть позже заменён с помощьюset().- __annotations__={}
- __eq__(other)[источник]
-
Возвращает результат сравнения self==value.
- __hash__=None
- __init__(child)[источник]
-
child: Экземпляр
Transform. Этот дочерний элемент может быть позже заменён с помощьюset().
- __module__='matplotlib.transforms'
- __str__()[источник]
-
Возвращает str(self).
- frozen()[источник]
-
Возвращает замороженную копию этого узла преобразований. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для хранения ранее известного состояния преобразований, где
copy.deepcopy()обычно используется.
- свойствоhas_inverse
-
bool(x) -> bool
Возвращает True, если аргумент x истинен, иначе False. Встроенные значения True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может иметь подклассов.
- свойство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)[источник]
-
Заменяет текущее дочернее преобразование этого объекта другим.
Новое дочернее преобразование должно иметь такое же количество входных и выходных размерностей, как и текущее дочернее преобразование.
- классmatplotlib.transforms.TransformedBbox(bbox, transform, **kwargs)[источник]
-
Базовые классы:
BboxBaseКласс
Bbox, который автоматически преобразуется заданным преобразованием. При изменении дочернего прямоугольника или преобразования границы этого прямоугольника будут соответствующим образом обновляться.- Параметры:
-
-
bbox
Bbox -
transform
Transform
-
bbox
- __annotations__={}
- __init__(bbox, transform, **kwargs)[источник]
-
- Параметры:
-
-
bbox
Bbox -
transform
Transform
-
bbox
- __module__='matplotlib.transforms'
- __str__()[источник]
-
Возвращает str(self).
- get_points()[источник]
- классmatplotlib.transforms.TransformedPatchPath(patch)[источник]
-
Базовые классы:
TransformedPathTransformedPatchPathкэширует неаффинную преобразованную копиюPatch. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования или объекта patch.- Параметры:
-
-
patch
Patch
-
patch
- __annotations__={}
- __init__(patch)[источник]
-
- Параметры:
-
-
patch
Patch
-
patch
- __module__='matplotlib.transforms'
- классmatplotlib.transforms.TransformedPath(path, transform)[источник]
-
Базовые классы:
TransformNodeTransformedPathкэширует неаффинную преобразованную копиюPath. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования.Примечание
Этот класс считает пути неизменяемыми. Обновление вершин или кодов пути не приведёт к перерасчёту преобразования.
- Параметры:
-
-
path
Path -
transform
Transform
-
path
- __annotations__={}
- __init__(path, transform)[источник]
-
- Параметры:
-
-
path
Path -
transform
Transform
-
path
- __module__='matplotlib.transforms'
- get_affine()[источник]
- get_fully_transformed_path()[источник]
-
Возвращает полностью преобразованную копию дочернего пути.
- get_transformed_path_and_affine()[источник]
-
Возвращает копию дочернего пути с уже применённой неаффинной частью преобразования, а также аффинную часть пути, необходимую для завершения преобразования.
- get_transformed_points_and_affine()[источник]
-
Возвращает копию дочернего пути с уже применённой неаффинной частью преобразования, а также аффинную часть пути, необходимую для завершения преобразования. В отличие от
get_transformed_path_and_affine(), интерполяция не будет выполнена.
- matplotlib.transforms.blended_transform_factory(x_transform, y_transform)[источник]
-
Создаёт новое «смешанное» преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Если оба дочерних преобразования являются аффинными, возвращается более быстрая версия смешанного преобразования.
- matplotlib.transforms.composite_transform_factory(a, b)[источник]
-
Создаёт новое составное преобразование, которое получается в результате применения преобразования a, а затем преобразования b.
Для случаев, когда оба дочерних преобразования являются аффинными или одно из них является тождественным, предусмотрены упрощённые версии смешанного преобразования.
Составные преобразования также можно создавать с помощью оператора '+', например:
c = a + b
- matplotlib.transforms.interval_contains(interval, val)[исходный код]
-
Проверка, включительно, входит ли заданное значение в интервал.
- Параметры:
-
- interval(float, float)
-
Концы интервала.
- valfloat
-
Значение для проверки на попадание в интервал.
- Возвращаемое значение:
-
- bool
-
Входит ли val в interval.
- matplotlib.transforms.interval_contains_open(interval, val)[исходный код]
-
Проверка, исключая концы, входит ли заданное значение в интервал.
- Параметры:
-
- interval(float, float)
-
Концы интервала.
- valfloat
-
Значение для проверки на попадание в интервал.
- Возвращаемое значение:
-
- bool
-
Входит ли val в interval.
- matplotlib.transforms.nonsingular(vmin, vmax, expander=0.001, tiny=1e-15, increasing=True)[исходный код]
-
Изменение границ диапазона при необходимости, чтобы избежать вырожденности.
- Параметры:
-
- vmin, vmaxfloat
-
Начальные границы.
- expanderfloat, по умолчанию: 0.001
-
Дробная величина, на которую vmin и vmax расширяются, если исходный интервал слишком мал, на основе tiny.
- tinyfloat, по умолчанию: 1e-15
-
Пороговое значение для отношения интервала к максимальному абсолютному значению его концов. Если интервал меньше этого значения, он будет расширен. Это значение должно быть около 1e-15 или больше; в противном случае интервал будет приближаться к пределу разрешения двойной точности.
- increasingbool, по умолчанию: True
-
Если True, поменять местами vmin, vmax, если vmin > vmax.
- Возвращаемое значение:
-
- vmin, vmaxfloat
-
Границы, расширенные и/или поменянные местами, если необходимо. Если один из входных данных равен inf или NaN, или если оба входных данных равны 0 или очень близки к нулю, возвращается -expander, expander.
- matplotlib.transforms.offset_copy(trans, fig=None, x=0.0, y=0.0, units='inches')[исходный код]
-
Возвращение нового преобразования с добавленным смещением.
- Параметры:
-
-
trans
Transformподкласс -
Любое преобразование, к которому будет применено смещение.
-
fig
Figure, по умолчанию: None -
Текущая фигура. Может быть None, если units равны 'dots'.
- x, yfloat, по умолчанию: 0.0
-
Смещение для применения.
- units{'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