matplotlib.transforms
В Matplotlib есть фреймворк для произвольных геометрических преобразований, который используется для определения конечного положения всех элементов, нарисованных на холсте.
Преобразования объединяются в деревья объектов TransformNode, чьё фактическое значение зависит от их дочерних элементов. Когда содержимое дочерних элементов меняется, их родительские элементы автоматически делаются недействительными. При следующем обращении к недействительному преобразованию оно пересчитывается, чтобы отразить эти изменения. Такой подход с проверкой на недействительность/кэшированием предотвращает ненужные пересчёты преобразований и способствует улучшению интерактивной производительности.
Например, вот граф дерева преобразований, используемого для отображения данных на графике:
Фреймворк можно использовать для аффинных и неаффинных преобразований. Однако для скорости мы хотим использовать бэкендовые отрисовыватели для выполнения аффинных преобразований, когда это возможно. Поэтому возможно выполнить только аффинную или неаффинную часть преобразования на наборе данных. Предполагается, что аффинное преобразование всегда выполняется после неаффинного. Для любого преобразования:
full transform == non-affine part + affine part
От бэкендов не ожидается, что они будут обрабатывать неаффинные преобразования сами.
-
class matplotlib.transforms.Affine2D(matrix=None, **kwargs)[source] -
Bases:
matplotlib.transforms.Affine2DBaseИзменяемая 2D аффинная трансформация.
Инициализировать аффинную трансформацию из 3x3 массива numpy с плавающей точкой:
a c e b d f 0 0 1
Если matrix равно None, инициализируется с тождественной трансформацией.
-
__init__(self, matrix=None, **kwargs)[source] -
Инициализировать аффинную трансформацию из 3x3 массива numpy с плавающей точкой:
a c e b d f 0 0 1
Если matrix равно None, инициализируется с тождественной трансформацией.
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
clear(self)[source] -
Сбросить базовую матрицу на тождественную трансформацию.
-
static from_values(a, b, c, d, e, f)[source] -
Создать новый экземпляр Affine2D из заданных значений:
a c e b d f 0 0 1
.
-
get_matrix(self)[source] -
Получить базовую матрицу преобразования как 3x3 массив numpy:
a c e b d f 0 0 1
.
-
static identity()[source] -
Возвращает новый объект
Affine2D, который является тождественной трансформацией.Если эта трансформация не будет изменяться позднее, используйте более быстрый класс
IdentityTransform.
-
rotate(self, theta)[source] -
Добавить поворот (в радианах) к этой трансформации на месте.
Возвращает self, поэтому этот метод можно легко объединять с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
rotate_around(self, x, y, theta)[source] -
Добавить поворот (в радианах) вокруг точки (x, y) на месте.
Возвращает self, поэтому этот метод можно легко объединять с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
rotate_deg(self, degrees)[source] -
Добавить поворот (в градусах) к этой трансформации на месте.
Возвращает self, поэтому этот метод можно легко объединять с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
rotate_deg_around(self, x, y, degrees)[source] -
Добавить поворот (в градусах) вокруг точки (x, y) на месте.
Возвращает self, поэтому этот метод можно легко объединять с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
scale(self, sx, sy=None)[source] -
Добавить масштабирование на месте.
Если sy равно None, одинаковый масштаб применяется по обеим осям x и y.
Возвращает self, поэтому этот метод можно легко объединять с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
set(self, other)[source] -
Установить эту трансформацию из неизменяемой копии другого объекта
Affine2DBase.
-
set_matrix(self, mtx)[source] -
Установить базовую матрицу преобразования из 3x3 массива numpy:
a c e b d f 0 0 1
.
-
skew(self, xShear, yShear)[source] -
Добавить сдвиг на месте.
xShear и yShear — углы сдвига вдоль осей x и y соответственно в радианах.
Возвращает self, поэтому этот метод можно легко объединять с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
skew_deg(self, xShear, yShear)[source] -
Добавить сдвиг на месте.
xShear и yShear — углы сдвига вдоль осей x и y соответственно в градусах.
Возвращает self, поэтому этот метод можно легко объединять с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
-
translate(self, tx, ty)[source] -
Добавить сдвиг на месте.
Возвращает self, поэтому этот метод можно легко объединить с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
-
class matplotlib.transforms.Affine2DBase(*args, **kwargs)[source] -
Базовый класс всех 2D аффинных преобразований.
2D аффинные преобразования выполняются с использованием 3x3 массива NumPy:
a c e b d f 0 0 1
Этот класс предоставляет только для чтения интерфейс. Для изменяемого 2D аффинного преобразования используйте
Affine2D.Подклассы этого класса, как правило, будут нуждаться только в переопределении конструктора и
get_matrix()для генерации пользовательской 3x3 матрицы.Параметры: -
shorthand_namestr -
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения читабельности
str(transform)при DEBUG=True.
-
__module__ = 'matplotlib.transforms'
-
frozen(self)[source] -
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()обычно может быть использован.
-
has_inverse = True
-
input_dims = 2
-
inverted(self)[source] -
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его инвертированной копии.
-
property is_separable -
bool(x) -> bool
Возвращает True, если аргумент x истинный, иначе False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассом.
-
static matrix_from_values(a, b, c, d, e, f)[source] -
[Устаревшее] Создаёт новую матрицу преобразования в виде 3x3 массива NumPy следующего вида:
a c e b d f 0 0 1
Примечания
Устарело начиная с версии 3.2.
-
output_dims = 2
-
to_values(self)[source] -
Возвращает значения матрицы в виде кортежа
(a, b, c, d, e, f).
-
transform_affine(self, points)[source] -
Применяет только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях, это, как правило, ничто. В аффинных преобразованиях, это эквивалентно
transform(values).Параметры: -
valuesarray -
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
Возвращает: - array
-
Выходные значения в виде массива NumPy длиной
input_dimsили формы (N xoutput_dims), в зависимости от входных данных.
-
-
-
class matplotlib.transforms.AffineBase(*args, **kwargs)[source] -
Bases:
matplotlib.transforms.TransformБазовый класс всех аффинных преобразований любого числа измерений.
Параметры: -
shorthand_namestr -
Строка, представляющая «название» преобразования. Название не имеет особого значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
-
__array__(self, *args, **kwargs)[source] -
Интерфейс массива для получения матрицы аффинного преобразования этого преобразования.
-
__eq__(self, other)[source] -
Возвращает self==value.
-
__hash__ = None
-
__init__(self, *args, **kwargs)[source] -
Параметры: -
shorthand_namestr -
Строка, представляющая «название» преобразования. Название не имеет особого значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
-
-
__module__ = 'matplotlib.transforms'
-
get_affine(self)[source] -
Получить аффинную часть этого преобразования.
-
is_affine = True
-
transform(self, values)[source] -
Применить это преобразование к заданному массиву значений.
Параметры: -
valuesarray -
Входные значения как массив NumPy длины
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения как массив NumPy длины
input_dimsили формы (N xoutput_dims), в зависимости от входных данных.
-
-
transform_affine(self, values)[source] -
Применить только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, ничто. В аффинных преобразованиях это эквивалентно
transform(values).Параметры: -
valuesarray -
Входные значения как массив NumPy длины
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения как массив NumPy длины
input_dimsили формы (N xoutput_dims), в зависимости от входных данных.
-
-
transform_non_affine(self, points)[source] -
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, эквивалентно
transform(values). В аффинных преобразованиях это всегда ничто.Параметры: -
valuesarray -
Входные значения как массив NumPy длины
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения как массив NumPy длины
input_dimsили формы (N xoutput_dims), в зависимости от входных данных.
-
-
transform_path(self, path)[source] -
Применить преобразование к
Pathпути, возвращая новыйPath.В некоторых случаях это преобразование может вставить кривые в путь, который начинался как отрезки прямых.
-
-
class matplotlib.transforms.AffineDeltaTransform(transform, **kwargs)[source] -
Bases:
matplotlib.transforms.Affine2DBaseОбёртка преобразования для преобразования смещений между парами точек.
Этот класс предназначен для преобразования смещений ("смещений позиций") между парами точек (например, как
offset_transformCollection): задано преобразованиеtтаким образом, чтоt = AffineDeltaTransform(t) + offset,AffineDeltaTransformудовлетворяетAffineDeltaTransform(a - b) == AffineDeltaTransform(a) - AffineDeltaTransform(b).Это реализуется путём принудительного установления нулевых значений компонентов смещения матрицы преобразования.
Этот класс является экспериментальным с версии 3.3, и API может измениться.
Параметры: -
shorthand_namestr -
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения читаемости
str(transform)при DEBUG=True.
-
__init__(self, transform, **kwargs)[source] -
Параметры: -
shorthand_namestr -
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения читаемости
str(transform)при DEBUG=True.
-
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
get_matrix(self)[source] -
Получить матрицу для аффинной части этого преобразования.
-
-
class matplotlib.transforms.Bbox(points, **kwargs)[source] -
Bases:
matplotlib.transforms.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]].
-
__format__(self, fmt)[source] -
Форматирование объекта по умолчанию.
-
__init__(self, points, **kwargs)[source] -
Параметры: -
pointsndarray -
Массив numpy 2x2 вида
[[x0, y0], [x1, y1]].
-
-
__module__ = 'matplotlib.transforms'
-
__repr__(self)[source] -
Возвращает repr(self).
-
__str__(self)[source] -
Возвращает str(self).
-
static from_bounds(x0, y0, width, height)[source] -
Создает новый
Bboxиз x0, y0, ширины и высоты.ширина и высота могут быть отрицательными.
-
static from_extents(*args)[source] -
Создает новый прямоугольник из слева, снизу, справа и сверху.
Ось y возрастает вверх.
-
get_points(self)[source] -
Получить точки прямоугольника непосредственно как массив numpy вида:
[[x0, y0], [x1, y1]].
-
ignore(self, value)[source] -
Установить, следует ли игнорировать существующие границы прямоугольника последующими вызовами
update_from_data_xy().-
valuebool -
- При
True, последующие вызовыupdate_from_data_xy()будут игнорировать существующие границыBbox. - При
False, последующие вызовыupdate_from_data_xy()будут включать существующие границыBbox.
- При
-
-
property intervalx -
Пара x-координат, определяющих прямоугольник.
Не гарантируется, что они отсортированы слева направо.
-
property intervaly -
Пара y-координат, определяющих прямоугольник.
Не гарантируется, что они отсортированы снизу вверх.
-
property minpos
-
property minposx
-
property minposy
-
mutated(self)[source] -
Возвращает, был ли прямоугольник изменён с момента инициализации.
-
mutatedx(self)[source] -
Возвращает, были ли изменены пределы по x с момента инициализации.
-
mutatedy(self)[source] -
Возвращает, были ли изменены пределы по y с момента инициализации.
-
static null()[source] -
Создаёт новый нулевой
Bboxот (бесконечность, бесконечность) до (-бесконечность, -бесконечность).
-
property p0 -
Первая пара координат (x, y), определяющих прямоугольник.
Не гарантируется, что это нижний левый угол (для этого используйте
min).
-
property p1 -
Вторая пара координат (x, y), определяющих прямоугольник.
Не гарантируется, что это верхний правый угол (для этого используйте
max).
-
set(self, other)[source] -
Устанавливает этот прямоугольник из «замороженных» границ другого
Bbox.
-
set_points(self, points)[source] -
Установка точек прямоугольника непосредственно из массива numpy вида:
[[x0, y0], [x1, y1]]. Проверка ошибок не выполняется, так как этот метод предназначен в основном для внутреннего использования.
-
-
static unit()[source] -
Создать новую единицу
Bboxот (0, 0) до (1, 1).
-
update_from_data_xy(self, xy, ignore=None, updatex=True, updatey=True)[source] -
Обновить границы
Bboxна основе переданных данных. После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.Параметры:
-
update_from_path(self, path, ignore=None, updatex=True, updatey=True)[source] -
Обновить границы
Bboxдля включения вершин предоставленной траектории. После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.Параметры:
-
property x0 -
Первая из пары координат x, определяющих прямоугольник.
Это не гарантируется, что будет меньше, чем
x1(для этого используйтеxmin).
-
property x1 -
Вторая из пары координат x, определяющих прямоугольник.
Это не гарантируется, что будет больше, чем
x0(для этого используйтеxmax).
-
property y0 -
Первая из пары координат y, определяющих прямоугольник.
Это не гарантируется, что будет меньше, чем
y1(для этого используйтеymin).
-
property y1 -
Вторая из пары координат y, определяющих прямоугольник.
Это не гарантируется, что будет больше, чем
y0(для этого используйтеymax).
-
-
class matplotlib.transforms.BboxBase(shorthand_name=None)[source]
-
Bases:
matplotlib.transforms.TransformNodeБазовый класс всех прямоугольников.
Этот класс неизменяемый;
Bbox— изменяемый подкласс.Каноническое представление — два точки без ограничений на их порядок. Предоставляются удобные свойства для получения левой, нижней, правой и верхней границ, а также ширины и высоты, но они не хранятся явно.
Параметры: -
shorthand_namestr -
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
__array__(self, *args, **kwargs)[source]
-
__module__ = 'matplotlib.transforms'
-
anchored(self, c, container=None)[source] -
Возвращает копию
Bbox, смещенную в положение c в контейнере container.Параметры: -
c(float, float) or str -
Может быть либо:
- Последовательность (cx, cy), где cx и cy изменяются от 0 до 1, причём 0 — слева или снизу, а 1 — справа или сверху
- строка: - 'C' для центрирования - 'S' для нижнего центра - 'SE' для нижнего левого угла - 'E' для левого края - и т. д.
-
containerBbox, optional -
Прямоугольник, внутри которого позиционируется
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(self, x, y)[source] -
Возвращает, содержится ли
(x, y)внутри прямоугольника или на его границе.
-
corners(self)[source] -
Возвращает углы прямоугольника в виде массива точек.
Конкретно, это возвращает массив
[[x0, y0], [x0, y1], [x1, y0], [x1, y1]].
-
count_contains(self, vertices)[source] -
Подсчитывает количество вершин, содержащихся в
Bbox. Любые вершины с нечисловым значением x или y игнорируются.Параметры: -
verticesNx2 Numpy array.
-
-
count_overlaps(self, bboxes)[source] -
Подсчитывает количество прямоугольников, перекрывающихся с этим.
Параметры: -
bboxessequence of BboxBase
-
-
expanded(self, sw, sh)[source] -
Создаёт
Bbox, расширяя этот вокруг центра на факторы sw и sh.
-
frozen(self)[source] -
Базовый класс для всего, что участвует в дереве преобразований и должно инвалидировать своих родителей или быть инвалидированным. Это включает классы, которые на самом деле не являются преобразованиями, такие как прямоугольники, поскольку некоторые преобразования зависят от прямоугольников для вычисления своих значений.
-
fully_contains(self, x, y)[source] -
Возвращает, содержится ли
x, yвнутри прямоугольника, но не на его границе.
-
fully_overlaps(self, other)[source] -
Возвращает, перекрывается ли этот прямоугольник с другим, не включая грани.
Параметры: -
otherBboxBase
-
-
get_points(self)[source]
-
-
property height -
Высота (со знаком) области отображения.
-
static intersection(bbox1, bbox2)[source] -
Возвращает пересечение bbox1 и bbox2, если они пересекаются, или None, если нет.
-
property intervalx -
Пара значений координат x, определяющих область отображения.
Не гарантируется, что они отсортированы слева направо.
-
property intervaly -
Пара значений координат y, определяющих область отображения.
Не гарантируется, что они отсортированы снизу вверх.
-
inverse_transformed(self, transform)[source] -
[Устарело] Создаёт
Bboxпутём статического преобразования текущей области отображения с помощью обратного преобразования transform.Примечания
Устарело начиная с версии 3.3.
-
is_affine = True
-
is_bbox = True
-
is_unit(self)[source] -
[Устарело] Возвращает, является ли эта область отображения единичной (от (0, 0) до (1, 1)).
Примечания
Устарело начиная с версии 3.2.
-
property max -
Правый верхний угол области отображения.
-
property min -
Левый нижний угол области отображения.
-
overlaps(self, other)[source] -
Возвращает, перекрывается ли эта область отображения с другой областью отображения.
Параметры: -
otherBboxBase
-
-
property p0 -
Первая пара координат (x, y), определяющих область отображения.
Не гарантируется, что это левый нижний угол (для этого используйте
min).
-
property p1 -
Вторая пара координат (x, y), определяющих область отображения.
Не гарантируется, что это правый верхний угол (для этого используйте
max).
-
padded(self, p)[source] -
Создаёт
Bboxпутём добавления отступа p со всех четырёх сторон текущей области отображения.
-
rotated(self, radians)[source] -
Возвращает область отображения, выровненную по осям, которая ограничивает результат поворота этой
Bboxна угол radians.
-
shrunk(self, mx, my)[source] -
Возвращает копию
Bbox, уменьшенную в x направлении на множитель mx и в y направлении на множитель my. Левый нижний угол области отображения остаётся неизменным. Обычно mx и my будут меньше 1, но это не обязательно.
-
shrunk_to_aspect(self, box_aspect, container=None, fig_aspect=1.0)[source] -
Возвращает копию
Bbox, уменьшенную так, чтобы она была максимально возможной при заданном соотношении сторон box_aspect. Если координаты области отображения относительные (т.е. доли от большего прямоугольника, такого как рисунок), то физическое соотношение сторон этого рисунка задаётся параметром fig_aspect, так что box_aspect также можно задать как отношение абсолютных размеров, а не относительных.
-
property size -
Ширина и высота (со знаком) области отображения.
-
splitx(self, *args)[source] -
Возвращает список новых
Bboxобъектов, полученных путём разделения исходного объекта вертикальными линиями по дробным позициям, заданным в args.
-
splity(self, *args)[source] -
Возвращает список новых
Bboxобъектов, полученных путём разделения исходного объекта горизонтальными линиями по дробным позициям, заданным в args.
-
transformed(self, transform)[source] -
Создаёт
Bboxпутём статического преобразования текущей области отображения с помощью transform.
-
translated(self, tx, ty)[source] -
Создаёт
Bboxпутём перемещения текущей области отображения на tx и ty.
-
static union(bboxes)[source] -
Возвращает
Bbox, содержащую все указанные bboxes.
-
property width -
Ширина (со знаком) области отображения.
-
property x0 -
Первое из пары значений координат x, определяющих область отображения.
Не гарантируется, что оно меньше, чем
x1(для этого используйтеxmin).
-
property x1 -
Второе из пары значений координат x, определяющих область отображения.
Не гарантируется, что оно больше, чем
x0(для этого используйтеxmax).
-
property xmax -
Правый край области отображения.
-
property xmin -
Левый край области отображения.
-
-
property y1 -
Вторая из пары координат y, определяющих область обрезки.
Не гарантируется, что она больше, чем
y0(для этого используйтеymax).
-
property ymax -
Верхняя граница области обрезки.
-
property ymin -
Нижняя граница области обрезки.
-
-
class matplotlib.transforms.BboxTransform(boxin, boxout, **kwargs)[source] -
Bases:
matplotlib.transforms.Affine2DBaseBboxTransformлинейно преобразует точки из однойBboxв другую.Создает новый
BboxTransform, который линейно преобразует точки из boxin в boxout.-
__init__(self, boxin, boxout, **kwargs)[source] -
Создает новый
BboxTransform, который линейно преобразует точки из boxin в boxout.
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
get_matrix(self)[source] -
Получить матрицу для аффинной части этого преобразования.
-
is_separable = True
-
-
class matplotlib.transforms.BboxTransformFrom(boxin, **kwargs)[source] -
Bases:
matplotlib.transforms.Affine2DBaseBboxTransformFromлинейно преобразует точки из заданнойBboxв единичную область обрезки.Параметры: -
shorthand_namestr -
Строка, представляющая "имя" преобразования. Имя не имеет никакого значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
-
__init__(self, boxin, **kwargs)[source] -
Параметры: -
shorthand_namestr -
Строка, представляющая "имя" преобразования. Имя не имеет никакого значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
-
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
get_matrix(self)[source] -
Получить матрицу для аффинной части этого преобразования.
-
is_separable = True
-
-
class matplotlib.transforms.BboxTransformTo(boxout, **kwargs)[source] -
Bases:
matplotlib.transforms.Affine2DBaseBboxTransformTo— преобразование, которое линейно преобразует точки из единичной области обрезки в заданнуюBbox.Создает новый
BboxTransformTo, который линейно преобразует точки из единичной области обрезки в boxout.-
__init__(self, boxout, **kwargs)[source] -
Создает новый
BboxTransformTo, который линейно преобразует точки из единичной области обрезки в boxout.
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
get_matrix(self)[source] -
Получить матрицу для аффинной части этого преобразования.
-
is_separable = True
-
-
class matplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs)[source] -
Bases:
matplotlib.transforms.BboxTransformToBboxTransformTo— преобразование, которое линейно преобразует точки из единичной области обрезки в заданнуюBboxс фиксированным верхним левым углом (0, 0).Создает новый
BboxTransformTo, который линейно преобразует точки из единичной области обрезки в boxout.-
__module__ = 'matplotlib.transforms'
-
get_matrix(self)[source] -
Получить матрицу для аффинной части этого преобразования.
-
-
class matplotlib.transforms.BlendedAffine2D(x_transform, y_transform, **kwargs)[source] -
Базы:
matplotlib.transforms._BlendedMixin,matplotlib.transforms.Affine2DBaseПреобразованние «смешанного» типа использует одно преобразование для направления x и другое для направления y.
Этот вариант — оптимизация для случая, когда оба дочерних преобразования являются типа
Affine2DBase.Создаёт новое преобразование «смешанного» типа, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
И x_transform, и y_transform должны быть 2D аффинными преобразованиями.
Обычно вы не будете вызывать этот конструктор напрямую, а воспользуетесь функцией
blended_transform_factory, которая может автоматически определить, какой тип смешанного преобразования создать.-
__init__(self, 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(self)[source] -
Получить матрицу аффинной части этого преобразования.
-
is_separable = True
-
-
class matplotlib.transforms.BlendedGenericTransform(x_transform, y_transform, **kwargs)[source] -
Базы:
matplotlib.transforms._BlendedMixin,matplotlib.transforms.TransformПреобразованние «смешанного» типа использует одно преобразование для направления x и другое для направления y.
Этот «обобщённый» вариант может обрабатывать любые заданные дочерние преобразования в направлениях x и y.
Создаёт новое преобразование «смешанного» типа, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Обычно вы не будете вызывать этот конструктор напрямую, а воспользуетесь функцией
blended_transform_factory, которая может автоматически определить, какой тип смешанного преобразования создать.-
__init__(self, x_transform, y_transform, **kwargs)[source] -
Создаёт новое преобразование «смешанного» типа, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Обычно вы не будете вызывать этот конструктор напрямую, а воспользуетесь функцией
blended_transform_factory, которая может автоматически определить, какой тип смешанного преобразования создать.
-
__module__ = 'matplotlib.transforms'
-
contains_branch(self, other)[source] -
Возвращает, является ли данное преобразование поддеревом этого преобразования.
Эта процедура использует равенство преобразований для определения поддеревьев, поэтому во многих ситуациях будет использоваться идентификатор объекта.
В случае, когда данное преобразование представляет собой всё это преобразование, возвращает True.
-
property depth -
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра преобразования.
Примечание
В особом случае композитного преобразования возвращается максимальная глубина двух.
-
frozen(self)[source] -
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для хранения ранее известного состояния преобразования, когда
copy.deepcopy()обычно используется.
-
get_affine(self)[source] -
Получить аффинную часть этого преобразования.
-
property has_inverse -
bool(x) -> bool
Возвращает True, когда аргумент x истинен, False в противном случае. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть переопределён.
-
input_dims = 2
-
inverted(self)[source] -
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Значение, возвращаемое этим методом, должно рассматриваться как временное. Обновление self не приводит к соответствующему обновлению его обратной копии.
-
property is_affine -
bool(x) -> bool
Возвращает True, когда аргумент x истинен, False в противном случае. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть переопределён.
-
is_separable = True
-
output_dims = 2
-
pass_through = True
-
transform_non_affine(self, points)[source] -
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, эквивалентно
transform(values). В аффинных преобразованиях это всегда действие без эффекта.Параметры: -
valuesarray -
Входные значения как массив NumPy длины
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения как массив NumPy длины
input_dimsили формы (N xoutput_dims), в зависимости от входных данных.
-
-
-
class matplotlib.transforms.CompositeAffine2D(a, b, **kwargs)[source] -
Bases:
matplotlib.transforms.Affine2DBaseСоставной преобразование, образованное применением преобразования a, а затем преобразования b.
Этот вариант является оптимизацией, которая обрабатывает случай, когда оба a и b являются 2D аффинами.
Создайте новое составное преобразование, являющееся результатом применения
Affine2DBasea, затемAffine2DBaseb.Обычно вы не будете вызывать этот конструктор напрямую, но напишете
a + b, который автоматически выберет лучший тип экземпляра составного преобразования для создания.-
__init__(self, a, b, **kwargs)[source] -
Создайте новое составное преобразование, являющееся результатом применения
Affine2DBasea, затемAffine2DBaseb.Обычно вы не будете вызывать этот конструктор напрямую, но напишете
a + b, который автоматически выберет лучший тип экземпляра составного преобразования для создания.
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
property depth -
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра преобразования.
Примечание
В случае с составным преобразованием возвращается максимальная глубина из двух.
-
get_matrix(self)[source] -
Получение матрицы для аффинной части этого преобразования.
-
-
class matplotlib.transforms.CompositeGenericTransform(a, b, **kwargs)[source] -
Базовые классы:
matplotlib.transforms.TransformСоставной преобразователь, образованный применением преобразования a, а затем преобразования b.
Этот «обобщённый» вариант может обрабатывать любые два произвольных преобразования.
Создаёт новый составной преобразователь, являющийся результатом применения преобразования a, а затем преобразования b.
Обычно вы не будете вызывать этот конструктор напрямую, но напишете
a + b, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.-
__eq__(self, other)[source] -
Возвращает self==value.
-
__hash__ = None
-
__init__(self, a, b, **kwargs)[source] -
Создаёт новый составной преобразователь, являющийся результатом применения преобразования a, а затем преобразования b.
Обычно вы не будете вызывать этот конструктор напрямую, но напишете
a + b, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
property depth -
Возвращает количество преобразований, которые были объединены для формирования экземпляра Transform.
Примечание
В случае составного преобразователя возвращается максимальная глубина из двух.
-
frozen(self)[source] -
Возвращает замороженную копию этого преобразователя. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()можно было бы использовать по умолчанию.
-
get_affine(self)[source] -
Получить аффинное преобразование этого преобразования.
-
property has_inverse -
bool(x) -> bool
Возвращает True, если аргумент x является истинным, иначе False. Builtins True и False - единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
-
inverted(self)[source] -
Возвращает соответствующее обратное преобразование.
Он хранит
x == self.inverted().transform(self.transform(x)).Значение, возвращаемое этим методом, следует рассматривать как временное. Обновление self не приводит к соответствующему обновлению его инвертированной копии.
-
property is_affine -
bool(x) -> bool
Возвращает True, если аргумент x является истинным, иначе False. Builtins True и False - единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
-
property is_separable -
bool(x) -> bool
Возвращает True, если аргумент x является истинным, иначе False. Builtins True и False - единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
-
pass_through = True
-
transform_affine(self, points)[source] -
Применяет только аффинное преобразование к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно является пустой операцией. В аффинных преобразованиях это эквивалентно
transform(values).Параметры: -
valuesarray -
Входные значения в виде массива NumPy длины
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения в виде массива NumPy длины
input_dimsили формы (N xoutput_dims), в зависимости от входных данных.
-
-
transform_non_affine(self, points)[source] -
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно эквивалентно
transform(values). В аффинных преобразованиях это всегда пустая операция.Параметры: -
valuesarray -
Входные значения в виде массива NumPy длины
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения в виде массива NumPy длины
input_dimsили формы (N xoutput_dims), в зависимости от входных данных.
-
-
-
class matplotlib.transforms.IdentityTransform(*args, **kwargs)[source] -
Bases:
matplotlib.transforms.Affine2DBaseСпециальный класс, выполняющий тождественное преобразование быстрым способом.
Параметры: -
shorthand_namestr -
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
frozen(self)[source] -
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()обычно может использоваться.
-
get_affine(self)[source] -
Получить аффинную часть этого преобразования.
-
get_matrix(self)[source] -
Получить матрицу для аффинной части этого преобразования.
-
inverted(self)[source] -
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его инвертированной копии.
-
transform(self, points)[source] -
Применить это преобразование к заданному массиву значений.
Параметры: -
valuesarray -
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения в виде массива NumPy длиной
input_dimsили формы (N xoutput_dims), в зависимости от входных данных.
-
-
transform_affine(self, points)[source] -
Применить только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, бесполезно. В аффинных преобразованиях это эквивалентно
transform(values).Параметры: -
valuesarray -
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения в виде массива NumPy длиной
input_dimsили формы (N xoutput_dims).
-
-
transform_non_affine(self, points)[source] -
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, эквивалентно
transform(values). В аффинных преобразованиях это всегда бесполезно.Параметры: -
valuesarray -
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения в виде массива NumPy длиной
input_dimsили формы (N xoutput_dims).
-
-
transform_path(self, path)[source] -
Применить преобразование к
Pathpath, вернув новыйPath.В некоторых случаях это преобразование может вставить кривые в путь, который начинался как отрезки прямых.
-
-
class matplotlib.transforms.LockableBbox(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[source] -
Bases:
matplotlib.transforms.BboxBaseA
Bbox, где некоторые элементы могут быть заблокированы на определённых значениях.При изменении дочерней области, границы этой области будут обновляться соответствующим образом, за исключением заблокированных элементов.
Параметры: -
bboxBbox -
Обёртка для дочерней области.
-
x0float or None -
Заблокированное значение для x0 или None, чтобы оставить значение не заблокированным.
-
y0float or None -
Заблокированное значение для y0 или None, чтобы оставить значение не заблокированным.
-
x1float or None -
Заблокированное значение для x1 или None, чтобы оставить значение не заблокированным.
-
y1float or None -
Заблокированное значение для y1 или None, чтобы оставить значение не заблокированным.
-
__init__(self, bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[source] -
Параметры: -
bboxBbox -
Обёртка для дочерней области.
-
x0float or None -
Заблокированное значение для x0 или None, чтобы оставить значение не заблокированным.
-
y0float or None -
Заблокированное значение для y0 или None, чтобы оставить значение не заблокированным.
-
x1float or None -
Заблокированное значение для x1 или None, чтобы оставить значение не заблокированным.
-
y1float or None -
Заблокированное значение для y1 или None, чтобы оставить значение не заблокированным.
-
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
get_points(self)[source]
-
property locked_x0 -
float или None: Значение, используемое для заблокированного x0.
-
property locked_x1 -
float или None: Значение, используемое для заблокированного x1.
-
property locked_y0 -
float или None: Значение, используемое для заблокированного y0.
-
property locked_y1 -
float или None: Значение, используемое для заблокированного y1.
-
-
class matplotlib.transforms.ScaledTranslation(xt, yt, scale_trans, **kwargs)[source] -
Bases:
matplotlib.transforms.Affine2DBaseПреобразование, которое производит сдвиг на xt и yt после того, как xt и yt были преобразованы scale_trans.
Параметры: -
shorthand_namestr -
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме повышения удобочитаемости
str(transform)когда DEBUG=True.
-
__init__(self, xt, yt, scale_trans, **kwargs)[source] -
Параметры: -
shorthand_namestr -
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме повышения удобочитаемости
str(transform)когда DEBUG=True.
-
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
get_matrix(self)[source] -
Получить матрицу для аффинной части этого преобразования.
-
-
class matplotlib.transforms.Transform(shorthand_name=None)[source] -
Bases:
matplotlib.transforms.TransformNodeБазовый класс всех экземпляров
TransformNode, которые фактически выполняют преобразование.Все неаффинные преобразования должны быть подклассами этого класса. Новые аффинные преобразования должны быть подклассами
Affine2D.Подклассы этого класса должны переопределять следующие члены (как минимум):
input_dimsoutput_dimstransform()-
inverted()(если обратное преобразование существует)
Следующие атрибуты можно переопределить, если значение по умолчанию не подходит:
-
is_separable(по умолчанию True для преобразований 1d -> 1d, иначе False) -
has_inverse(по умолчанию True, если переопределенinverted(), иначе False)
Если преобразование должно выполнять нестандартные действия с объектами
matplotlib.path.Path, например, добавлять кривые там, где раньше были отрезки прямых, то необходимо переопределить:Parameters: -
shorthand_namestr -
Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
__add__(self, other)[source] -
Компонует два преобразования таким образом, что self выполняется перед other.
A + Bвозвращает преобразованиеCтаким образом, чтоC.transform(x) == B.transform(A.transform(x)).
-
__array__(self, *args, **kwargs)[source] -
Интерфейс массива для доступа к матрице аффинного преобразования этого Transform.
-
classmethod __init_subclass__()[source] -
Этот метод вызывается при наследовании от класса.
Реализация по умолчанию ничего не делает. Можно переопределить для расширения подклассов.
-
__module__ = 'matplotlib.transforms'
-
__sub__(self, 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()может отличаться на небольшую величину epsilon. -
B.inverted()всегда возвращает замороженное преобразование: если кто-то вычисляетA + B + B.inverted()и позже изменяетB, тоB.inverted()не будет обновляться, и последние два члена больше не будут сокращаться; с другой стороны,A + B - Bвсегда будет равноA, даже еслиBизменяется.
- Это позволяет избежать погрешностей с плавающей точкой при вычислении обратного преобразования B:
-
contains_branch(self, other)[source] -
Возвращает, является ли данное преобразование поддеревом этого преобразования.
Эта процедура использует равенство преобразований для идентификации поддеревьев, поэтому во многих ситуациях будет использоваться идентификатор объекта.
В случае, когда данное преобразование представляет собой все это преобразование, возвращает True.
-
contains_branch_seperately(self, other_transform)[source] -
Возвращает, является ли заданный узел поддеревом этого преобразования в каждом отдельном измерении.
Общее применение этого метода — идентифицировать, является ли преобразование комбинированным преобразованием, содержащим преобразование данных осей. Например:
x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
-
property depth -
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра Transform.
Примечание
В случае с Composite преобразованием возвращается максимальная глубина из двух.
-
get_affine(self)[source] -
Получение аффинной части этого преобразования.
-
get_matrix(self)[source] -
Получение матрицы для аффинной части этого преобразования.
-
has_inverse = False -
True, если у этого преобразования есть соответствующее обратное преобразование.
-
input_dims = None -
Количество входных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
-
inverted(self)[source] -
Возвращает соответствующее обратное преобразование.
Он содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не приводит к соответствующему обновлению его обратного копирования.
-
is_separable = False -
True, если это преобразование разделимо по осям x и y.
-
output_dims = None -
Количество выходных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
-
transform(self, values)[source] -
Применяет это преобразование к заданному массиву values.
Parameters: -
valuesarray -
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
Returns: - array
-
Выходные значения в виде массива NumPy длиной
input_dimsили формы (N xoutput_dims), в зависимости от входных данных.
-
-
transform_affine(self, values)[source] -
Применить только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно не операция. В аффинных преобразованиях это эквивалентно
transform(values).Параметры: -
valuesarray -
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения в виде массива NumPy длиной
input_dimsили формы (N xoutput_dims), в зависимости от входных данных.
-
-
transform_angles(self, angles, pts, radians=False, pushoff=1e-05)[source] -
Преобразовать набор углов, закрепленных в определенных местах.
Параметры: -
angles(N,) array-like -
Углы для преобразования.
-
pts(N, 2) array-like -
Точки, где закреплены углы.
-
radiansbool, default: False -
Являются ли angles радианами или градусами.
-
pushofffloat -
Для каждой точки в pts и угла в angles преобразованный угол вычисляется путем преобразования отрезка длиной pushoff, начинающегося в этой точке и образующего этот угол относительно горизонтальной оси, и измерения угла между горизонтальной осью и преобразованным отрезком.
Возвращает: - (N,) массив
-
-
transform_bbox(self, bbox)[source] -
Преобразовать заданный прямоугольник.
Для более умных преобразований, включая кеширование (частая необходимость в Matplotlib), см.
TransformedBbox.
-
transform_non_affine(self, values)[source] -
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно эквивалентно
transform(values). В аффинных преобразованиях это всегда не операция.Параметры: -
valuesarray -
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения в виде массива NumPy длиной
input_dimsили формы (N xoutput_dims), в зависимости от входных данных.
-
-
transform_path(self, path)[source] -
Применить преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставлять кривые в путь, который начинался как отрезки прямых.
-
transform_path_affine(self, path)[source] -
Применить аффинную часть этого преобразования к
Pathpath, возвращая новыйPath.transform_path(path)эквивалентноtransform_path_affine(transform_path_non_affine(values)).
-
transform_path_non_affine(self, path)[source] -
Применить неаффинную часть этого преобразования к
Pathpath, возвращая новыйPath.transform_path(path)эквивалентноtransform_path_affine(transform_path_non_affine(values)).
-
transform_point(self, point)[source] -
Возвращает преобразованную точку.
Эта функция сохранена только для совместимости; более общий метод
transformспособен преобразовывать как список точек, так и одиночную точку.Точка задается как последовательность длиной
input_dims. Преобразованная точка возвращается как последовательность длинойoutput_dims.
-
-
class matplotlib.transforms.TransformNode(shorthand_name=None)[source] -
Базовый класс для всего, что участвует в дереве преобразований и нуждается в инвалидации своих родителей или в инвалидации самого себя. Это включает классы, которые не являются непосредственно преобразованиями, такие как ограничивающие прямоугольники, так как некоторые преобразования зависят от ограничивающих прямоугольников для вычисления своих значений.
Параметры: -
shorthand_namestr -
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
INVALID = 3
-
INVALID_AFFINE = 2
-
INVALID_NON_AFFINE = 1
-
__copy__(self, *args)[source]
-
__deepcopy__(self, *args)
-
__dict__ = mappingproxy({'__module__': 'matplotlib.transforms', '__doc__': '\n The base class for anything that participates in the transform tree\n and needs to invalidate its parents or be invalidated. This includes\n classes that are not really transforms, such as bounding boxes, since some\n transforms depend on bounding boxes to compute their values.\n ', '_gid': 0, '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__>, '__deepcopy__': <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>})
-
__getstate__(self)[source]
-
__init__(self, shorthand_name=None)[source] -
Параметры: -
shorthand_namestr -
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
-
__module__ = 'matplotlib.transforms'
-
__setstate__(self, data_dict)[source]
-
__weakref__ -
список слабых ссылок на объект (если определён)
-
frozen(self)[source] -
Возвращает замороженную копию узла преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()обычно используется.
-
invalidate(self)[source] -
Инвалидирует это
TransformNodeи инициирует инвалидацию его предков. Должно вызываться всякий раз, когда преобразование изменяется.
-
is_affine = False
-
is_bbox = False
-
pass_through = False -
Если pass_through True, все предки всегда будут инвалидированы, даже если 'self' уже невалиден.
-
set_children(self, *children)[source] -
Устанавливает дочерние элементы преобразования, чтобы система инвалидации знала, какие преобразования могут инвалидировать это преобразование. Должно вызываться из конструктора любых преобразований, которые зависят от других преобразований.
-
-
class matplotlib.transforms.TransformWrapper(child)[source] -
Базовый класс:
matplotlib.transforms.TransformВспомогательный класс, который содержит единственное дочернее преобразование и действует аналогично ему.
Это полезно, если узел дерева преобразований должен быть заменён во время выполнения на преобразование другого типа. Этот класс позволяет этой замене правильно запускать инвалидацию.
Экземпляры
TransformWrapperдолжны иметь одинаковые входные и выходные размеры на протяжении всего своего жизненного цикла, поэтому дочернее преобразование может быть заменено только другим дочерним преобразованием с теми же размерами.child: Экземпляр
Transform. Это дочернее преобразование позже может быть заменено с помощьюset().-
__eq__(self, other)[source] -
Возвращает self==value.
-
__hash__ = None
-
__init__(self, child)[source] -
child: Экземпляр
Transform. Это дочернее преобразование позже может быть заменено с помощьюset().
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
frozen(self)[source] -
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()обычно используется.
-
property has_inverse -
bool(x) -> bool
Возвращает True, если аргумент x истинный, иначе False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
-
property is_affine -
bool(x) -> bool
Возвращает True, если аргумент x истинный, иначе False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
-
property is_separable -
bool(x) -> bool
Возвращает True, если аргумент x истинный, иначе False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
-
pass_through = True
-
set(self, child)[source] -
Заменяет текущее дочернее преобразование этого преобразования другим.
Новый дочерний элемент должен иметь то же количество входных и выходных измерений, что и текущий дочерний элемент.
-
-
class matplotlib.transforms.TransformedBbox(bbox, transform, **kwargs)[source] -
Основы:
matplotlib.transforms.BboxBaseA
Bboxкоторый автоматически преобразуется заданным преобразованием. При изменении дочернего прямоугольника или преобразования границы этого прямоугольника будут обновляться соответствующим образом.Параметры: -
bboxBbox -
transformTransform
-
__init__(self, bbox, transform, **kwargs)[source] -
Параметры: -
bboxBbox -
transformTransform
-
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
get_points(self)[source]
-
-
class matplotlib.transforms.TransformedPatchPath(patch)[source] -
Основы:
matplotlib.transforms.TransformedPathA
TransformedPatchPathкэширует неаффинное преобразованную копиюPatch. Этот кэшированный экземпляр автоматически обновляется при изменении неаффинной части преобразования или патча.Параметры: -
patchPatch
-
__init__(self, patch)[source] -
Параметры: -
patchPatch
-
-
__module__ = 'matplotlib.transforms'
-
-
class matplotlib.transforms.TransformedPath(path, transform)[source] -
Основы:
matplotlib.transforms.TransformNodeA
TransformedPathкэширует неаффинное преобразованную копиюPath. Этот кэшированный экземпляр автоматически обновляется при изменении неаффинной части преобразования.Примечание
Пути считаются неизменяемыми этим классом. Любые обновления вершин/кодов пути не будут вызывать пересчет преобразования.
Параметры: -
pathPath -
transformTransform
-
__init__(self, path, transform)[source] -
Параметры: -
pathPath -
transformTransform
-
-
__module__ = 'matplotlib.transforms'
-
get_affine(self)[source]
-
get_fully_transformed_path(self)[source] -
Возвращает полностью преобразованную копию дочернего пути.
-
get_transformed_path_and_affine(self)[source] -
Возвращает копию дочернего пути, с уже применённой неаффинной частью преобразования, вместе с аффинной частью пути, необходимой для завершения преобразования.
-
get_transformed_points_and_affine(self)[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, default: 0.001 -
Доля, на которую vmin и vmax расширяются, если исходный интервал слишком мал, на основе tiny.
-
tinyfloat, default: 1e-15 -
Порог для отношения интервала к максимальному абсолютному значению его конечных точек. Если интервал меньше этого значения, он будет расширен. Это значение должно быть около 1e-15 или больше; в противном случае интервал будет приближаться к пределу разрешения двойной точности.
-
increasingbool, default: True -
Если True, поменяйте vmin и vmax, если vmin > vmax.
Возвращает: -
vmin, vmaxfloat -
Конечные точки, расширенные и/или измененные, если необходимо. Если любой из входов равен бесконечности или NaN, или если оба входа равны 0 или очень близки к нулю, возвращается -expander, expander.
-
-
matplotlib.transforms.offset_copy(trans, fig=None, x=0.0, y=0.0, units='inches')[source] -
Возвращает новый преобразователь с добавленным смещением.
Параметры: -
transTransform subclass -
Любой преобразователь, к которому будет применено смещение.
-
figFigure, default: None -
Текущая фигура. Может быть None, если units равны 'dots'.
-
x, yfloat, default: 0.0 -
Смещение для применения.
-
units{'inches', 'points', 'dots'}, default: 'inches' -
Единицы смещения.
Возвращает: -
Transform subclass -
Преобразователь со применённым смещением.
-
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.3.3/api/transformations.html