matplotlib.transforms
В Matplotlib есть фреймворк для произвольных геометрических преобразований, который используется для определения конечного положения всех элементов, нарисованных на холсте.
Преобразования объединяются в деревья объектов TransformNode, чьё фактическое значение зависит от их дочерних элементов. Когда содержимое дочерних элементов меняется, их родительские элементы автоматически делаются недействительными. При следующем обращении к недействительному преобразованию оно пересчитывается, чтобы отразить эти изменения. Такой подход с проверкой на недействительность/кэшированием предотвращает ненужные пересчёты преобразований и способствует улучшению интерактивной производительности.
Например, вот граф дерева преобразований, используемого для отображения данных на графике:
Фреймворк можно использовать для аффинных и неаффинных преобразований. Однако для скорости мы хотим использовать бэкендовые отрисовыватели для выполнения аффинных преобразований, когда это возможно. Поэтому возможно выполнить только аффинную или неаффинную часть преобразования на наборе данных. Предполагается, что аффинное преобразование всегда выполняется после неаффинного. Для любого преобразования:
full transform == non-affine part + affine part
От бэкендов не ожидается, что они будут обрабатывать неаффинные преобразования сами.
-
class matplotlib.transforms.Affine2D(matrix=None, **kwargs)[исходный код] -
Базовые классы:
matplotlib.transforms.Affine2DBaseИзменяемая 2D аффинная трансформация.
Инициализировать аффинную трансформацию из 3x3 массива numpy с плавающей точкой:
a c e b d f 0 0 1
Если matrix равно None, инициализируется с тождественной трансформацией.
-
__init__(self, matrix=None, **kwargs)[исходный код] -
Инициализировать аффинную трансформацию из 3x3 массива numpy с плавающей точкой:
a c e b d f 0 0 1
Если matrix равно None, инициализируется с тождественной трансформацией.
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
clear(self)[исходный код] -
Сбросить базовую матрицу на тождественную трансформацию.
-
static from_values(a, b, c, d, e, f)[исходный код] -
Создать новый экземпляр Affine2D из заданных значений:
a c e b d f 0 0 1
.
-
get_matrix(self)[исходный код] -
Получить базовую матрицу преобразования как 3x3 массив numpy:
a c e b d f 0 0 1
.
-
static identity()[исходный код] -
Возвращает новый объект
Affine2D, который является тождественной трансформацией.Если эта трансформация не будет изменяться позднее, используйте более быстрый класс
IdentityTransform.
-
rotate(self, theta)[исходный код] -
Добавить поворот (в радианах) к этой трансформации на месте.
Возвращает self, поэтому этот метод можно легко объединять с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
rotate_around(self, x, y, theta)[исходный код] -
Добавить поворот (в радианах) вокруг точки (x, y) на месте.
Возвращает self, поэтому этот метод можно легко объединять с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
rotate_deg(self, degrees)[исходный код] -
Добавить поворот (в градусах) к этой трансформации на месте.
Возвращает self, поэтому этот метод можно легко объединять с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
rotate_deg_around(self, x, y, degrees)[исходный код] -
Добавить поворот (в градусах) вокруг точки (x, y) на месте.
Возвращает self, поэтому этот метод можно легко объединять с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
scale(self, sx, sy=None)[исходный код] -
Добавить масштабирование на месте.
Если sy равно None, одинаковый масштаб применяется по обеим осям x и y.
Возвращает self, поэтому этот метод можно легко объединять с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
set(self, other)[исходный код] -
Установить эту трансформацию из неизменяемой копии другого объекта
Affine2DBase.
-
set_matrix(self, mtx)[исходный код] -
Установить базовую матрицу преобразования из 3x3 массива numpy:
a c e b d f 0 0 1
.
-
skew(self, xShear, yShear)[исходный код] -
Добавить сдвиг на месте.
xShear и yShear — углы сдвига вдоль осей x и y соответственно в радианах.
Возвращает self, поэтому этот метод можно легко объединять с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
skew_deg(self, xShear, yShear)[исходный код] -
Добавить сдвиг на месте.
xShear и yShear — углы сдвига вдоль осей x и y соответственно в градусах.
Возвращает self, поэтому этот метод можно легко объединять с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
-
translate(self, tx, ty)[исходный код] -
Добавить сдвиг на месте.
Возвращает self, поэтому этот метод можно легко объединить с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
-
class matplotlib.transforms.Affine2DBase(*args, **kwargs)[исходный код] -
Базовый класс всех 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)[исходный код] -
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()обычно может быть использован.
-
has_inverse = True
-
input_dims = 2
-
inverted(self)[исходный код] -
Возвращает соответствующее обратное преобразование.
Содержит
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)[исходный код] -
[Устаревшее] Создаёт новую матрицу преобразования в виде 3x3 массива NumPy следующего вида:
a c e b d f 0 0 1
Примечания
Устарело начиная с версии 3.2.
-
output_dims = 2
-
to_values(self)[исходный код] -
Возвращает значения матрицы в виде кортежа
(a, b, c, d, e, f).
-
transform_affine(self, points)[исходный код] -
Применяет только аффинную часть этого преобразования к заданному массиву значений.
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)[исходный код] -
Базовый класс:
matplotlib.transforms.TransformБазовый класс всех аффинных преобразований любого числа измерений.
Параметры: -
shorthand_namestr -
Строка, представляющая «название» преобразования. Название не имеет особого значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
-
__array__(self, *args, **kwargs)[исходный код] -
Интерфейс массива для получения матрицы аффинного преобразования этого преобразования.
-
__eq__(self, other)[исходный код] -
Возвращает self==value.
-
__hash__ = None
-
__init__(self, *args, **kwargs)[исходный код] -
Параметры: -
shorthand_namestr -
Строка, представляющая «название» преобразования. Название не имеет особого значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
-
-
__module__ = 'matplotlib.transforms'
-
get_affine(self)[исходный код] -
Получить аффинную часть этого преобразования.
-
is_affine = True
-
transform(self, values)[исходный код] -
Применить это преобразование к заданному массиву значений.
Параметры: -
valuesarray -
Входные значения как массив NumPy длины
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения как массив NumPy длины
input_dimsили формы (N xoutput_dims), в зависимости от входных данных.
-
-
transform_affine(self, values)[исходный код] -
Применить только аффинную часть этого преобразования к заданному массиву значений.
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)[исходный код] -
Применить только неаффинную часть этого преобразования.
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)[исходный код] -
Применить преобразование к
Pathпути, возвращая новыйPath.В некоторых случаях это преобразование может вставить кривые в путь, который начинался как отрезки прямых.
-
-
class matplotlib.transforms.AffineDeltaTransform(transform, **kwargs)[исходный код] -
Базовый класс:
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)[исходный код] -
Параметры: -
shorthand_namestr -
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения читаемости
str(transform)при DEBUG=True.
-
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
get_matrix(self)[исходный код] -
Получить матрицу для аффинной части этого преобразования.
-
-
class matplotlib.transforms.Bbox(points, **kwargs)[исходный код] -
Базовый класс:
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)[исходный код] -
Форматирование объекта по умолчанию.
-
__init__(self, points, **kwargs)[исходный код] -
Параметры: -
pointsndarray -
Массив numpy 2x2 вида
[[x0, y0], [x1, y1]].
-
-
__module__ = 'matplotlib.transforms'
-
__repr__(self)[исходный код] -
Возвращает repr(self).
-
__str__(self)[исходный код] -
Возвращает str(self).
-
static from_bounds(x0, y0, width, height)[исходный код] -
Создает новый
Bboxиз x0, y0, ширины и высоты.ширина и высота могут быть отрицательными.
-
static from_extents(*args)[исходный код] -
Создает новый прямоугольник из слева, снизу, справа и сверху.
Ось y возрастает вверх.
-
get_points(self)[исходный код] -
Получить точки прямоугольника непосредственно как массив numpy вида:
[[x0, y0], [x1, y1]].
-
ignore(self, value)[исходный код] -
Установить, следует ли игнорировать существующие границы прямоугольника последующими вызовами
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)[исходный код] -
Возвращает, был ли прямоугольник изменён с момента инициализации.
-
mutatedx(self)[исходный код] -
Возвращает, были ли изменены пределы по x с момента инициализации.
-
mutatedy(self)[исходный код] -
Возвращает, были ли изменены пределы по y с момента инициализации.
-
static null()[исходный код] -
Создаёт новый нулевой
Bboxот (бесконечность, бесконечность) до (-бесконечность, -бесконечность).
-
property p0 -
Первая пара координат (x, y), определяющих прямоугольник.
Не гарантируется, что это нижний левый угол (для этого используйте
min).
-
property p1 -
Вторая пара координат (x, y), определяющих прямоугольник.
Не гарантируется, что это верхний правый угол (для этого используйте
max).
-
set(self, other)[исходный код] -
Устанавливает этот прямоугольник из «замороженных» границ другого
Bbox.
-
set_points(self, points)[исходный код] -
Установка точек прямоугольника непосредственно из массива numpy вида:
[[x0, y0], [x1, y1]]. Проверка ошибок не выполняется, так как этот метод предназначен в основном для внутреннего использования.
-
-
static unit()[исходный код] -
Создать новый единичный
Bboxот (0, 0) до (1, 1).
-
update_from_data_xy(self, xy, ignore=None, updatex=True, updatey=True)[исходный код] -
Обновить границы
Bboxна основе переданных данных. После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.Параметры:
-
update_from_path(self, path, ignore=None, updatex=True, updatey=True)[исходный код] -
Обновить границы
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)[исходный код]
-
Основания:
matplotlib.transforms.TransformNodeБазовый класс всех прямоугольников.
Этот класс неизменяемый;
Bbox— изменяемый подкласс.Каноническое представление — два точки без ограничений на их порядок. Предоставляются удобные свойства для получения левой, нижней, правой и верхней границ, а также ширины и высоты, но они не хранятся явно.
Параметры: -
shorthand_namestr -
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
__array__(self, *args, **kwargs)[исходный код]
-
__module__ = 'matplotlib.transforms'
-
anchored(self, c, container=None)[исходный код] -
Возвращает копию
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)[исходный код] -
Возвращает, содержится ли
(x, y)внутри прямоугольника или на его границе.
-
corners(self)[исходный код] -
Возвращает углы прямоугольника в виде массива точек.
Конкретно, это возвращает массив
[[x0, y0], [x0, y1], [x1, y0], [x1, y1]].
-
count_contains(self, vertices)[исходный код] -
Подсчитывает количество вершин, содержащихся в
Bbox. Любые вершины с нечисловым значением x или y игнорируются.Параметры: -
verticesNx2 Numpy array.
-
-
count_overlaps(self, bboxes)[исходный код] -
Подсчитывает количество прямоугольников, перекрывающихся с этим.
Параметры: -
bboxessequence of BboxBase
-
-
expanded(self, sw, sh)[исходный код] -
Создаёт
Bbox, расширяя этот вокруг центра на факторы sw и sh.
-
frozen(self)[исходный код] -
Базовый класс для всего, что участвует в дереве преобразований и должно инвалидировать своих родителей или быть инвалидированным. Это включает классы, которые на самом деле не являются преобразованиями, такие как прямоугольники, поскольку некоторые преобразования зависят от прямоугольников для вычисления своих значений.
-
fully_contains(self, x, y)[исходный код] -
Возвращает, содержится ли
x, yвнутри прямоугольника, но не на его границе.
-
fully_overlaps(self, other)[исходный код] -
Возвращает, перекрывается ли этот прямоугольник с другим, не включая грани.
Параметры: -
otherBboxBase
-
-
get_points(self)[исходный код]
-
-
property height -
Высота (со знаком) области отображения.
-
static intersection(bbox1, bbox2)[исходный код] -
Возвращает пересечение bbox1 и bbox2, если они пересекаются, или None, если нет.
-
property intervalx -
Пара значений координат x, определяющих область отображения.
Не гарантируется, что они отсортированы слева направо.
-
property intervaly -
Пара значений координат y, определяющих область отображения.
Не гарантируется, что они отсортированы снизу вверх.
-
inverse_transformed(self, transform)[исходный код] -
[Устарело] Создаёт
Bboxпутём статического преобразования текущей области отображения с помощью обратного преобразования transform.Примечания
Устарело начиная с версии 3.3.
-
is_affine = True
-
is_bbox = True
-
is_unit(self)[исходный код] -
[Устарело] Возвращает, является ли эта область отображения единичной (от (0, 0) до (1, 1)).
Примечания
Устарело начиная с версии 3.2.
-
property max -
Правый верхний угол области отображения.
-
property min -
Левый нижний угол области отображения.
-
overlaps(self, other)[исходный код] -
Возвращает, перекрывается ли эта область отображения с другой областью отображения.
Параметры: -
otherBboxBase
-
-
property p0 -
Первая пара координат (x, y), определяющих область отображения.
Не гарантируется, что это левый нижний угол (для этого используйте
min).
-
property p1 -
Вторая пара координат (x, y), определяющих область отображения.
Не гарантируется, что это правый верхний угол (для этого используйте
max).
-
padded(self, p)[исходный код] -
Создаёт
Bboxпутём добавления отступа p со всех четырёх сторон текущей области отображения.
-
rotated(self, radians)[исходный код] -
Возвращает область отображения, выровненную по осям, которая ограничивает результат поворота этой
Bboxна угол radians.
-
shrunk(self, mx, my)[исходный код] -
Возвращает копию
Bbox, уменьшенную в x направлении на множитель mx и в y направлении на множитель my. Левый нижний угол области отображения остаётся неизменным. Обычно mx и my будут меньше 1, но это не обязательно.
-
shrunk_to_aspect(self, box_aspect, container=None, fig_aspect=1.0)[исходный код] -
Возвращает копию
Bbox, уменьшенную так, чтобы она была максимально возможной при заданном соотношении сторон box_aspect. Если координаты области отображения относительные (т.е. доли от большего прямоугольника, такого как рисунок), то физическое соотношение сторон этого рисунка задаётся параметром fig_aspect, так что box_aspect также можно задать как отношение абсолютных размеров, а не относительных.
-
property size -
Ширина и высота (со знаком) области отображения.
-
splitx(self, *args)[исходный код] -
Возвращает список новых объектов
Bbox, полученных путём разделения исходного объекта вертикальными линиями в дробных позициях, заданных в args.
-
splity(self, *args)[исходный код] -
Возвращает список новых объектов
Bbox, полученных путём разделения исходного объекта горизонтальными линиями в дробных позициях, заданных в args.
-
transformed(self, transform)[исходный код] -
Создаёт
Bboxпутём статического преобразования текущей области отображения с помощью transform.
-
translated(self, tx, ty)[исходный код] -
Создаёт
Bboxпутём перемещения текущей области отображения на tx и ty.
-
static union(bboxes)[исходный код] -
Возвращает
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)[исходный код] -
Основания:
matplotlib.transforms.Affine2DBaseBboxTransformлинейно преобразует точки из однойBboxв другую.Создает новый
BboxTransform, который линейно преобразует точки из boxin в boxout.-
__init__(self, boxin, boxout, **kwargs)[исходный код] -
Создает новый
BboxTransform, который линейно преобразует точки из boxin в boxout.
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
get_matrix(self)[исходный код] -
Получить матрицу для аффинной части этого преобразования.
-
is_separable = True
-
-
class matplotlib.transforms.BboxTransformFrom(boxin, **kwargs)[исходный код] -
Основания:
matplotlib.transforms.Affine2DBaseBboxTransformFromлинейно преобразует точки из заданнойBboxв единичную область обрезки.Параметры: -
shorthand_namestr -
Строка, представляющая "имя" преобразования. Имя не имеет никакого значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
-
__init__(self, boxin, **kwargs)[исходный код] -
Параметры: -
shorthand_namestr -
Строка, представляющая "имя" преобразования. Имя не имеет никакого значения, кроме повышения удобочитаемости
str(transform)при DEBUG=True.
-
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
get_matrix(self)[исходный код] -
Получить матрицу для аффинной части этого преобразования.
-
is_separable = True
-
-
class matplotlib.transforms.BboxTransformTo(boxout, **kwargs)[источник] -
Базовые классы:
matplotlib.transforms.Affine2DBaseBboxTransformTo— преобразование, которое линейно преобразует точки из единичной области обрезки в заданнуюBbox.Создает новый
BboxTransformTo, который линейно преобразует точки из единичной области обрезки в boxout.-
__init__(self, boxout, **kwargs)[источник] -
Создает новый
BboxTransformTo, который линейно преобразует точки из единичной области обрезки в boxout.
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
get_matrix(self)[источник] -
Получить матрицу для аффинной части этого преобразования.
-
is_separable = True
-
-
class matplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs)[источник] -
Базовые классы:
matplotlib.transforms.BboxTransformToBboxTransformTo— преобразование, которое линейно преобразует точки из единичной области обрезки в заданнуюBboxс фиксированным верхним левым углом (0, 0).Создает новый
BboxTransformTo, который линейно преобразует точки из единичной области обрезки в boxout.-
__module__ = 'matplotlib.transforms'
-
get_matrix(self)[источник] -
Получить матрицу для аффинной части этого преобразования.
-
-
class matplotlib.transforms.BlendedAffine2D(x_transform, y_transform, **kwargs)[источник] -
Базовые классы:
matplotlib.transforms._BlendedMixin,matplotlib.transforms.Affine2DBaseПреобразование «смешанного» типа использует одно преобразование для направления x и другое для направления y.
Этот вариант — оптимизация для случая, когда оба дочерних преобразования относятся к типу
Affine2DBase.Создаёт новое преобразование «смешанного» типа, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
И x_transform, и y_transform должны быть двумерными аффинными преобразованиями.
Обычно вы не будете вызывать этот конструктор напрямую, а воспользуетесь функцией
blended_transform_factory, которая может автоматически определить, какой тип смешанного преобразования создать.-
__init__(self, x_transform, y_transform, **kwargs)[источник] -
Создаёт новое преобразование «смешанного» типа, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
И x_transform, и y_transform должны быть двумерными аффинными преобразованиями.
Обычно вы не будете вызывать этот конструктор напрямую, а воспользуетесь функцией
blended_transform_factory, которая может автоматически определить, какой тип смешанного преобразования создать.
-
__module__ = 'matplotlib.transforms'
-
get_matrix(self)[источник] -
Получить матрицу аффинной части этого преобразования.
-
is_separable = True
-
-
class matplotlib.transforms.BlendedGenericTransform(x_transform, y_transform, **kwargs)[источник] -
Базовые классы:
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)[источник] -
Создаёт новое преобразование «смешанного» типа, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Обычно вы не будете вызывать этот конструктор напрямую, а воспользуетесь функцией
blended_transform_factory, которая может автоматически определить, какой тип смешанного преобразования создать.
-
__module__ = 'matplotlib.transforms'
-
contains_branch(self, other)[источник] -
Возвращает, является ли данное преобразование поддеревом этого преобразования.
Эта процедура использует равенство преобразований для определения поддеревьев, поэтому во многих ситуациях будет использоваться идентификатор объекта.
В случае, когда данное преобразование представляет собой всё это преобразование, возвращает True.
-
property depth -
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра преобразования.
Примечание
В особом случае составного преобразования возвращается максимальная глубина двух.
-
frozen(self)[источник] -
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для хранения ранее известного состояния преобразования, когда обычно используется
copy.deepcopy().
-
get_affine(self)[источник] -
Получить аффинную часть этого преобразования.
-
property has_inverse -
bool(x) -> bool
Возвращает True, если аргумент x истинен, и False в противном случае. Встроенные значения True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть переопределён.
-
input_dims = 2
-
inverted(self)[источник] -
Возвращает соответствующее обратное преобразование.
Содержит
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)[источник] -
Применить только неаффинную часть этого преобразования.
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)[источник] -
Базовые классы:
matplotlib.transforms.Affine2DBaseСоставное преобразование, образованное применением преобразования a, а затем преобразования b.
Этот вариант является оптимизацией для случая, когда и a, и b являются двумерными аффинными преобразованиями.
Создайте новое составное преобразование, являющееся результатом применения
Affine2DBasea, а затемAffine2DBaseb.Обычно вы не будете вызывать этот конструктор напрямую, а воспользуетесь
a + b, который автоматически выберет оптимальный тип составного преобразования для создания.-
__init__(self, a, b, **kwargs)[источник] -
Создайте новое составное преобразование, являющееся результатом применения
Affine2DBasea, а затемAffine2DBaseb.Обычно вы не будете вызывать этот конструктор напрямую, а воспользуетесь
a + b, который автоматически выберет оптимальный тип составного преобразования для создания.
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
property depth -
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра преобразования.
Примечание
В случае составного преобразования возвращается максимальная глубина из двух.
-
get_matrix(self)[источник] -
Получить матрицу для аффинной части этого преобразования.
-
-
class matplotlib.transforms.CompositeGenericTransform(a, b, **kwargs)[источник] -
Базовые классы:
matplotlib.transforms.TransformСоставное преобразование, образованное применением преобразования a, а затем преобразования b.
Этот «обобщённый» вариант может обрабатывать любые два произвольных преобразования.
Создаёт новое составное преобразование, являющееся результатом применения преобразования a, а затем преобразования b.
Обычно вы не будете вызывать этот конструктор напрямую, а воспользуетесь
a + b, который автоматически выберет оптимальный тип составного преобразования для создания.-
__eq__(self, other)[источник] -
Возвращает self==value.
-
__hash__ = None
-
__init__(self, a, b, **kwargs)[источник] -
Создаёт новое составное преобразование, являющееся результатом применения преобразования a, а затем преобразования b.
Обычно вы не будете вызывать этот конструктор напрямую, а воспользуетесь
a + b, который автоматически выберет оптимальный тип составного преобразования для создания.
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
property depth -
Возвращает количество преобразований, которые были объединены для формирования экземпляра Transform.
Примечание
В случае составного преобразования возвращается максимальная глубина из двух.
-
frozen(self)[источник] -
Возвращает замороженную копию этого преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, в котором обычно можно было бы использовать
copy.deepcopy().
-
get_affine(self)[источник] -
Получить аффинную часть этого преобразования.
-
property has_inverse -
bool(x) -> bool
Возвращает True, если аргумент x истинен, и False в противном случае. Встроенные значения True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассирован.
-
inverted(self)[источник] -
Возвращает соответствующее обратное преобразование.
Оно хранит
x == self.inverted().transform(self.transform(x)).Значение, возвращаемое этим методом, следует рассматривать как временное. Обновление self не приводит к соответствующему обновлению его обратной копии.
-
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
-
transform_affine(self, points)[источник] -
Применяет только аффинное преобразование к заданному массиву значений.
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)[источник] -
Применить только неаффинную часть этого преобразования.
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)[источник] -
Основы:
matplotlib.transforms.Affine2DBaseСпециальный класс, выполняющий тождественное преобразование быстрым способом.
Параметры: -
shorthand_namestr -
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
frozen(self)[источник] -
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()обычно может использоваться.
-
get_affine(self)[источник] -
Получить аффинную часть этого преобразования.
-
get_matrix(self)[источник] -
Получить матрицу для аффинной части этого преобразования.
-
inverted(self)[источник] -
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его инвертированной копии.
-
transform(self, points)[источник] -
Применить это преобразование к заданному массиву значений.
Параметры: -
valuesarray -
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения в виде массива NumPy длиной
input_dimsили формы (N xoutput_dims), в зависимости от входных данных.
-
-
transform_affine(self, points)[источник] -
Применить только аффинную часть этого преобразования к заданному массиву значений.
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)[источник] -
Применить только неаффинную часть этого преобразования.
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)[источник] -
Применить преобразование к
Pathпути, вернув новыйPath.В некоторых случаях это преобразование может вставить кривые в путь, который начинался как отрезки прямых.
-
-
class matplotlib.transforms.LockableBbox(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[источник] -
Основы:
matplotlib.transforms.BboxBaseBbox, где некоторые элементы могут быть заблокированы на определённых значениях.При изменении дочерней области, границы этой области будут обновляться соответствующим образом, за исключением заблокированных элементов.
Параметры: -
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)[источник] -
Параметры: -
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)[источник]
-
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)[источник] -
Основы:
matplotlib.transforms.Affine2DBaseПреобразование, которое производит сдвиг на xt и yt после того, как xt и yt были преобразованы scale_trans.
Параметры: -
shorthand_namestr -
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме повышения удобочитаемости
str(transform)когда DEBUG=True.
-
__init__(self, xt, yt, scale_trans, **kwargs)[источник] -
Параметры: -
shorthand_namestr -
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме повышения удобочитаемости
str(transform)когда DEBUG=True.
-
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
get_matrix(self)[источник] -
Получить матрицу для аффинной части этого преобразования.
-
-
class matplotlib.transforms.Transform(shorthand_name=None)[источник] -
Основы:
matplotlib.transforms.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__(self, other)[источник] -
Компонует два преобразования таким образом, что self выполняется перед other.
A + Bвозвращает преобразованиеCтаким образом, чтоC.transform(x) == B.transform(A.transform(x)).
-
__array__(self, *args, **kwargs)[источник] -
Интерфейс массива для доступа к матрице аффинного преобразования этого Transform.
-
classmethod __init_subclass__()[источник] -
Этот метод вызывается при наследовании от класса.
Реализация по умолчанию ничего не делает. Можно переопределить для расширения подклассов.
-
__module__ = 'matplotlib.transforms'
-
__sub__(self, 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()может отличаться на небольшую величину epsilon. -
B.inverted()всегда возвращает замороженное преобразование: если кто-то вычисляетA + B + B.inverted()и позже изменяетB, тоB.inverted()не будет обновляться, и последние два члена больше не будут сокращаться; с другой стороны,A + B - Bвсегда будет равноA, даже еслиBизменяется.
- Это позволяет избежать погрешностей с плавающей точкой при вычислении обратного преобразования B:
-
contains_branch(self, other)[источник] -
Возвращает, является ли данное преобразование поддеревом этого преобразования.
Эта процедура использует равенство преобразований для идентификации поддеревьев, поэтому во многих ситуациях будет использоваться идентификатор объекта.
В случае, когда данное преобразование представляет собой все это преобразование, возвращает True.
-
contains_branch_seperately(self, other_transform)[источник] -
Возвращает, является ли заданный узел поддеревом этого преобразования в каждом отдельном измерении.
Общее применение этого метода — идентифицировать, является ли преобразование комбинированным преобразованием, содержащим преобразование данных осей. Например:
x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
-
property depth -
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра Transform.
Примечание
В случае составного преобразования возвращается максимальная глубина из двух.
-
get_affine(self)[источник] -
Получение аффинной части этого преобразования.
-
get_matrix(self)[источник] -
Получение матрицы для аффинной части этого преобразования.
-
has_inverse = False -
True, если у этого преобразования есть соответствующее обратное преобразование.
-
input_dims = None -
Количество входных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
-
inverted(self)[источник] -
Возвращает соответствующее обратное преобразование.
Оно содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не приводит к соответствующему обновлению его обратной копии.
-
is_separable = False -
True, если это преобразование разделимо по осям x и y.
-
output_dims = None -
Количество выходных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
-
transform(self, values)[источник] -
Применяет это преобразование к заданному массиву значений.
Параметры: -
valuesarray -
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения в виде массива NumPy длиной
input_dimsили формы (N xoutput_dims), в зависимости от входных данных.
-
-
transform_affine(self, values)[исходный код] -
Применить только аффинную часть этого преобразования к заданному массиву значений.
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)[исходный код] -
Преобразовать набор углов, закрепленных в определенных местах.
Параметры: -
angles(N,) array-like -
Углы для преобразования.
-
pts(N, 2) array-like -
Точки, где закреплены углы.
-
radiansbool, default: False -
Являются ли angles радианами или градусами.
-
pushofffloat -
Для каждой точки в pts и угла в angles преобразованный угол вычисляется путем преобразования отрезка длиной pushoff, начинающегося в этой точке и образующего этот угол относительно горизонтальной оси, и измерения угла между горизонтальной осью и преобразованным отрезком.
Возвращает: - (N,) массив
-
-
transform_bbox(self, bbox)[исходный код] -
Преобразовать заданный прямоугольник.
Для более умных преобразований, включая кеширование (частая необходимость в Matplotlib), см.
TransformedBbox.
-
transform_non_affine(self, values)[исходный код] -
Применить только неаффинную часть этого преобразования.
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)[исходный код] -
Применить преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставлять кривые в путь, который начинался как отрезки прямых.
-
transform_path_affine(self, path)[исходный код] -
Применить аффинную часть этого преобразования к
Pathpath, возвращая новыйPath.transform_path(path)эквивалентноtransform_path_affine(transform_path_non_affine(values)).
-
transform_path_non_affine(self, path)[исходный код] -
Применить неаффинную часть этого преобразования к
Pathpath, возвращая новыйPath.transform_path(path)эквивалентноtransform_path_affine(transform_path_non_affine(values)).
-
transform_point(self, point)[исходный код] -
Возвращает преобразованную точку.
Эта функция сохранена только для совместимости; более общий метод
transformспособен преобразовывать как список точек, так и одиночную точку.Точка задается как последовательность длиной
input_dims. Преобразованная точка возвращается как последовательность длинойoutput_dims.
-
-
class matplotlib.transforms.TransformNode(shorthand_name=None)[исходный код] -
Базовый класс для всего, что участвует в дереве преобразований и нуждается в инвалидации своих родителей или в инвалидации самого себя. Это включает классы, которые не являются непосредственно преобразованиями, такие как ограничивающие прямоугольники, так как некоторые преобразования зависят от ограничивающих прямоугольников для вычисления своих значений.
Параметры: -
shorthand_namestr -
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
INVALID = 3
-
INVALID_AFFINE = 2
-
INVALID_NON_AFFINE = 1
-
__copy__(self, *args)[исходный код]
-
__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)[исходный код]
-
__init__(self, shorthand_name=None)[исходный код] -
Параметры: -
shorthand_namestr -
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
-
__module__ = 'matplotlib.transforms'
-
__setstate__(self, data_dict)[исходный код]
-
__weakref__ -
список слабых ссылок на объект (если определён)
-
frozen(self)[исходный код] -
Возвращает замороженную копию узла преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()обычно используется.
-
invalidate(self)[исходный код] -
Инвалидирует это
TransformNodeи инициирует инвалидацию его предков. Должно вызываться всякий раз, когда преобразование изменяется.
-
is_affine = False
-
is_bbox = False
-
pass_through = False -
Если pass_through имеет значение True, все предки будут всегда инвалидироваться, даже если 'self' уже невалиден.
-
set_children(self, *children)[исходный код] -
Устанавливает дочерние элементы преобразования, чтобы система инвалидации знала, какие преобразования могут инвалидировать это преобразование. Должно вызываться из конструктора любых преобразований, которые зависят от других преобразований.
-
-
class matplotlib.transforms.TransformWrapper(child)[исходный код] -
Базовый класс:
matplotlib.transforms.TransformВспомогательный класс, который содержит единственное дочернее преобразование и действует аналогично ему.
Это полезно, если узел дерева преобразований должен быть заменён во время выполнения на преобразование другого типа. Этот класс позволяет этой замене правильно запускать инвалидацию.
Экземпляры
TransformWrapperдолжны иметь одинаковые входные и выходные размеры на протяжении всего своего жизненного цикла, поэтому дочернее преобразование может быть заменено только другим дочерним преобразованием с теми же размерами.child: Экземпляр
Transform. Это дочернее преобразование позже может быть заменено с помощьюset().-
__eq__(self, other)[исходный код] -
Возвращает self==value.
-
__hash__ = None
-
__init__(self, child)[исходный код] -
child: Экземпляр
Transform. Это дочернее преобразование позже может быть заменено с помощьюset().
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
frozen(self)[исходный код] -
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
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)[исходный код] -
Заменяет текущее дочернее преобразование этого преобразования другим.
Новый дочерний элемент должен иметь то же количество входных и выходных измерений, что и текущий дочерний элемент.
-
-
class matplotlib.transforms.TransformedBbox(bbox, transform, **kwargs)[исходный код] -
Базовый класс:
matplotlib.transforms.BboxBaseBbox, который автоматически преобразуется заданным преобразованием. При изменении дочернего прямоугольника или преобразования границы этого прямоугольника будут обновляться соответствующим образом.Параметры: -
bboxBbox -
transformTransform
-
__init__(self, bbox, transform, **kwargs)[исходный код] -
Параметры: -
bboxBbox -
transformTransform
-
-
__module__ = 'matplotlib.transforms'
-
__str__(self) -
Возвращает str(self).
-
get_points(self)[исходный код]
-
-
class matplotlib.transforms.TransformedPatchPath(patch)[исходный код] -
Базовый класс:
matplotlib.transforms.TransformedPathTransformedPatchPathкэширует копиюPatch, преобразованную неаффинным преобразованием. Этот кэшированный экземпляр автоматически обновляется при изменении неаффинной части преобразования или патча.Параметры: -
patchPatch
-
__init__(self, patch)[исходный код] -
Параметры: -
patchPatch
-
-
__module__ = 'matplotlib.transforms'
-
-
class matplotlib.transforms.TransformedPath(path, transform)[исходный код] -
Базовый класс:
matplotlib.transforms.TransformNodeTransformedPathкэширует копиюPath, преобразованную неаффинным преобразованием. Этот кэшированный экземпляр автоматически обновляется при изменении неаффинной части преобразования.Примечание
Этот класс считает пути неизменяемыми. Любые обновления вершин или кодов пути не будут вызывать пересчет преобразования.
Параметры: -
pathPath -
transformTransform
-
__init__(self, path, transform)[исходный код] -
Параметры: -
pathPath -
transformTransform
-
-
__module__ = 'matplotlib.transforms'
-
get_affine(self)[исходный код]
-
get_fully_transformed_path(self)[исходный код] -
Возвращает полностью преобразованную копию дочернего пути.
-
get_transformed_path_and_affine(self)[исходный код] -
Возвращает копию дочернего пути, с уже применённой неаффинной частью преобразования, вместе с аффинной частью пути, необходимой для завершения преобразования.
-
get_transformed_points_and_affine(self)[исходный код] -
Возвращает копию дочернего пути, с уже применённой неаффинной частью преобразования, вместе с аффинной частью пути, необходимой для завершения преобразования. В отличие от
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, 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')[исходный код] -
Возвращает новый преобразователь с добавленным смещением.
Параметры: -
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