matplotlib.transforms
В Matplotlib есть фреймворк для произвольных геометрических преобразований, который используется для определения конечного положения всех элементов, нарисованных на холсте.
Преобразования объединяются в деревья объектов TransformNode, чьё фактическое значение зависит от их дочерних элементов. Когда содержимое дочерних элементов меняется, их родительские элементы автоматически делаются недействительными. При следующем обращении к недействительному преобразованию оно пересчитывается, чтобы отразить эти изменения. Такой подход с проверкой на недействительность/кэшированием предотвращает ненужные пересчёты преобразований и способствует улучшению интерактивной производительности.
Например, вот граф дерева преобразований, используемого для отображения данных на графике:
Фреймворк можно использовать для аффинных и неаффинных преобразований. Однако для скорости мы хотим использовать бэкендовые отрисовыватели для выполнения аффинных преобразований, когда это возможно. Поэтому возможно выполнить только аффинную или неаффинную часть преобразования на наборе данных. Предполагается, что аффинное преобразование всегда выполняется после неаффинного. Для любого преобразования:
full transform == non-affine part + affine part
От бэкендов не ожидается, что они будут обрабатывать неаффинные преобразования сами.
- класс
matplotlib.transforms.Affine2D(matrix=None, **kwargs)[source] -
Основы:
matplotlib.transforms.Affine2DBaseИзменяемая 2D аффинная трансформация.
Инициализация аффинной трансформации из 3x3 массива numpy с плавающей точкой:
a c e b d f 0 0 1
Если matrix равно None, инициализируется с тождественной трансформацией.
-
__init__(matrix=None, **kwargs)[source] -
Инициализация аффинной трансформации из 3x3 массива numpy с плавающей точкой:
a c e b d f 0 0 1
Если matrix равно None, инициализируется с тождественной трансформацией.
-
__module__= 'matplotlib.transforms'
-
__str__() -
Возвращает str(self).
-
clear()[source] -
Сбросить базовую матрицу до тождественной трансформации.
- статический
from_values(a, b, c, d, e, f)[source] -
Создать новый объект Affine2D из заданных значений:
a c e b d f 0 0 1
.
-
get_matrix()[source] -
Получить базовую матрицу преобразования в виде 3x3 массива numpy:
a c e b d f 0 0 1
.
- статический
identity()[source] -
Возвращает новый объект
Affine2D, который является тождественным преобразованием.Если эта трансформация не будет изменяться в дальнейшем, рассмотрите использование более быстрого класса
IdentityTransformвместо него.
-
rotate(theta)[source] -
Добавить поворот (в радианах) в это преобразование на месте.
Возвращает self, поэтому этот метод можно легко комбинировать с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
rotate_around(x, y, theta)[source] -
Добавить поворот (в радианах) вокруг точки (x, y) на месте.
Возвращает self, поэтому этот метод можно легко комбинировать с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
rotate_deg(degrees)[source] -
Добавить поворот (в градусах) в это преобразование на месте.
Возвращает self, поэтому этот метод можно легко комбинировать с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
rotate_deg_around(x, y, degrees)[source] -
Добавить поворот (в градусах) вокруг точки (x, y) на месте.
Возвращает self, поэтому этот метод можно легко комбинировать с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
scale(sx, sy=None)[source] -
Добавить масштабирование на месте.
Если sy равно None, то же масштабирование применяется по обеим осям x и y.
Возвращает self, поэтому этот метод можно легко комбинировать с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
set(other)[source] -
Установить это преобразование из замороженной копии другого объекта
Affine2DBase.
-
set_matrix(mtx)[source] -
Установить базовую матрицу преобразования из 3x3 массива numpy:
a c e b d f 0 0 1
.
-
-
skew(xShear, yShear)[source] -
Добавить сдвиг.
xShear и yShear — углы сдвига вдоль осей x и y соответственно в радианах.
Возвращает self, что позволяет легко объединить этот метод с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
skew_deg(xShear, yShear)[source] -
Добавить сдвиг.
xShear и yShear — углы сдвига вдоль осей x и y соответственно в градусах.
Возвращает self, что позволяет легко объединить этот метод с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
translate(tx, ty)[source] -
Добавить трансляцию.
Возвращает self, что позволяет легко объединить этот метод с другими вызовами
rotate(),rotate_deg(),translate()иscale().
-
- 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()[source] -
Возвращает замороженную копию этого преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()может использоваться обычно.
-
has_inverse= True
-
input_dims= 2
-
inverted()[source] -
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не приводит к соответствующему обновлению его инвертированной копии.
- property
is_separable -
bool(x) -> bool
Возвращает True, когда аргумент x истинен, иначе False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассом.
-
output_dims= 2
-
to_values()[source] -
Возвращает значения матрицы в виде кортежа NumPy.
-
transform_affine(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), в зависимости от входных данных.
- класс
matplotlib.transforms.AffineBase(*args, **kwargs)[source] -
Базовый класс всех аффинных преобразований любого числа измерений.
Параметры: - shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
__array__(*args, **kwargs)[source] -
Интерфейс массива для доступа к матрице преобразования.
-
__eq__(other)[source] -
Возвращает self==value.
-
__hash__= None
-
__init__(*args, **kwargs)[source] -
Параметры: - shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
__module__= 'matplotlib.transforms'
-
get_affine()[source] -
Получить аффинную часть этого преобразования.
-
is_affine= True
-
transform(values)[source] -
Применить это преобразование к заданному массиву значений.
Параметры: - valuesмассив
-
Входные значения как массив NumPy длины
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения как массив NumPy длины
input_dimsили формы (N xoutput_dims), в зависимости от ввода.
-
transform_affine(values)[source] -
Применить только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, пустая операция. В аффинных преобразованиях это эквивалентно
transform(values).Параметры: - valuesмассив
-
Входные значения как массив NumPy длины
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения как массив NumPy длины
input_dimsили формы (N xoutput_dims), в зависимости от ввода.
-
transform_non_affine(points)[source] -
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, эквивалентно
transform(values). В аффинных преобразованиях это всегда пустая операция.Параметры: - valuesмассив
-
Входные значения как массив NumPy длины
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения как массив NumPy длины
input_dimsили формы (N xoutput_dims), в зависимости от ввода.
-
transform_path(path)[source] -
Применить преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставлять кривые в путь, который начинался как отрезки прямых.
- класс
matplotlib.transforms.AffineDeltaTransform(transform, **kwargs)[source] -
Bases:
matplotlib.transforms.Affine2DBaseОбёртка преобразования для преобразования смещений между парами точек.
Этот класс предназначен для преобразования смещений ("дельта-позиций") между парами точек (например, в качестве
offset_transformобъектовCollection): задано преобразованиеtтакое, чтоt = AffineDeltaTransform(t) + offset,AffineDeltaTransformудовлетворяетAffineDeltaTransform(a - b) == AffineDeltaTransform(a) - AffineDeltaTransform(b).Это реализуется принудительным установлением нулевых значений компонент смещения в матрице преобразования.
Этот класс экспериментальный начиная с версии 3.3, и API может измениться.
Параметры: - shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
__init__(transform, **kwargs)[source] -
Параметры: - shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
__module__= 'matplotlib.transforms'
-
__str__() -
Возвращает str(self).
-
get_matrix()[source] -
Получение матрицы для аффинной части этого преобразования.
- класс
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__(fmt)[source] -
Форматирование объекта по умолчанию.
-
__init__(points, **kwargs)[source] -
Параметры: - pointsndarray
-
Массив numpy 2x2 вида
[[x0, y0], [x1, y1]].
-
__module__= 'matplotlib.transforms'
-
__repr__()[source] -
Возвращает repr(self).
-
__str__()[source] -
Возвращает str(self).
- static
from_bounds(x0, y0, width, height)[source] -
Создаёт новый
Bboxиз x0, y0, width и height.width и height могут быть отрицательными.
- static
from_extents(*args, minpos=None)[source] -
Создаёт новый прямоугольник из left, bottom, right и top.
Ось y возрастает вверх.
Параметры: - left, bottom, right, topfloat
-
Четыре предельных значения прямоугольника.
- minposfloat или None
-
Если указано, прямоугольник будет иметь минимальное положительное значение. Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей точкой.
-
get_points()[source] -
Получает точки прямоугольника непосредственно как массив numpy вида:
[[x0, y0], [x1, y1]].
-
ignore(value)[source] -
Устанавливает, игнорировать ли существующие границы прямоугольника последующими вызовами
update_from_data_xy().- valuebool
-
- Если
True, последующие вызовыupdate_from_data_xy()проигнорируют существующие границыBbox. - Если
False, последующие вызовыupdate_from_data_xy()будут учитывать существующие границыBbox.
- Если
- property
intervalx -
Пара координат x, определяющих прямоугольник.
Не гарантируется, что они отсортированы слева направо.
- property
intervaly -
Пара координат y, определяющих прямоугольник.
Не гарантируется, что они отсортированы снизу вверх.
- property
minpos -
Минимальное положительное значение в обоих направлениях внутри прямоугольника.
Полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей точкой, и будет использоваться как минимальное значение вместо p0.
- property
minposx -
Минимальное положительное значение в направлении x внутри прямоугольника.
Полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей точкой, и будет использоваться как минимальное значение x вместо x0.
- property
minposy -
Минимальное положительное значение в направлении y внутри прямоугольника.
Полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей точкой, и будет использоваться как минимальное значение y вместо y0.
-
mutated()[source] -
Возвращает, изменился ли прямоугольник с момента создания.
-
mutatedx()[source] -
Возвращает, изменились ли пределы по оси x с момента инициализации.
-
mutatedy()[source] -
Возвращает, изменились ли пределы по оси y с момента инициализации.
- static
null()[source] -
Создаёт новый нулевой прямоугольник
Bboxот (беск., беск.) до (-беск., -беск.).
- property
p0 -
Первая пара координат (x, y), определяющих прямоугольник.
Не гарантируется, что это нижний левый угол (для этого используйте
min).
- property
p1 -
Вторая пара координат (x, y), определяющих прямоугольник.
Не гарантируется, что это верхний правый угол (для этого используйте
max).
-
set(other)[source] -
Устанавливает этот прямоугольник по "замороженным" границам другого прямоугольника
Bbox.
-
set_points(points)[source] -
Устанавливает точки прямоугольника непосредственно из массива numpy вида:
[[x0, y0], [x1, y1]]. Проверка ошибок не выполняется, так как этот метод в основном используется внутри.
- static
unit()[source] -
Создаёт новый единичный прямоугольник
Bboxот (0, 0) до (1, 1).
-
update_from_data_xy(xy, ignore=None, updatex=True, updatey=True)[source] -
Обновляет границы прямоугольника
Bboxна основе переданных данных. После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.Параметры: - xyndarray
-
Массив numpy точек 2D.
- ignorebool, optional
- updatex, updateybool, по умолчанию: True
-
Если
True, обновлять значения x/y.
-
update_from_path(path, ignore=None, updatex=True, updatey=True)[source] -
Обновляет границы прямоугольника
Bboxтак, чтобы они содержали вершины предоставленной траектории. После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.Параметры: -
path
Path - ignorebool, optional
- updatex, updateybool, по умолчанию: True
-
Если
True, обновлять значения x/y.
-
path
- 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]
-
Основы:
matplotlib.transforms.TransformNodeБазовый класс всех прямоугольных областей.
Этот класс неизменяемый;
Bboxявляется изменяемым подклассом.Каноническое представление — как две точки без ограничений на их порядок. Предоставляются удобные свойства для получения левой, нижней, правой и верхней границ, а также ширины и высоты, но они не хранятся явно.
Параметры: - shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме как для повышения читабельности
str(transform)при DEBUG=True.
-
__array__(*args, **kwargs)[source]
-
__module__= 'matplotlib.transforms'
-
anchored(c, container=None)[source] -
Возвращает копию
Bbox, сдвинутую в позицию c внутри container.Параметры: - c(float, float) или str
-
Может быть:
- Последовательностью (cx, cy), где cx и cy изменяются от 0 до 1, где 0 — слева или снизу, а 1 — справа или сверху
- строкой: - 'C' для центрирования - 'S' для нижнего центра - 'SE' для нижнего левого угла - 'E' для левого и т.д.
-
container
Bbox, необязательно -
Прямоугольник, внутри которого размещается
Bbox; по умолчанию он соответствует исходномуBbox.
-
coefs= {'C': (0.5, 0.5), 'E': (1.0, 0.5), 'N': (0.5, 1.0), 'NE': (1.0, 1.0), 'NW': (0, 1.0), 'S': (0.5, 0), 'SE': (1.0, 0), 'SW': (0, 0), 'W': (0, 0.5)}
-
contains(x, y)[source] -
Возвращает, содержится ли
(x, y)внутри прямоугольника или на его границе.
-
corners()[source] -
Возвращает углы этого прямоугольника как массив точек.
Конкретно, это возвращает массив
[[x0, y0], [x0, y1], [x1, y0], [x1, y1]].
-
count_contains(vertices)[source] -
Подсчитывает количество вершин, содержащихся в
Bbox. Вершины с бесконечными значениями x или y игнорируются.Параметры: - verticesNx2 Numpy массив.
-
count_overlaps(bboxes)[source] -
Подсчитывает количество прямоугольников, которые перекрываются с этим.
Параметры: -
bboxesпоследовательность
BboxBase
-
bboxesпоследовательность
-
expanded(sw, sh)[source] -
Создаёт
Bbox, расширив этот вокруг его центра на факторы sw и sh.
-
frozen()[source] -
Базовый класс для всего, что участвует в дереве преобразований и должно инвалидировать своих родителей или быть инвалидировано. Это включает классы, которые фактически не являются преобразованиями, такие как прямоугольные области, так как некоторые преобразования зависят от прямоугольных областей для вычисления своих значений.
-
fully_contains(x, y)[source] -
Возвращает, содержится ли
x, yвнутри прямоугольника, но не на его границе.
-
fully_containsx(x)[source] -
Возвращает значение, указывающее, находится ли x в открытом интервале (
x0,x1).
-
fully_containsy(y)[source] -
Возвращает значение, указывающее, находится ли y в открытом интервале (
y0,y1).
-
fully_overlaps(other)[source] -
Возвращает значение, указывающее, перекрывается ли эта область с другой областью, не включая границы.
Параметры: -
other
BboxBase
-
other
-
get_points()[source]
- свойство
height -
Высота (со знаком) области.
- статический
intersection(bbox1, bbox2)[source] -
Возвращает пересечение bbox1 и bbox2, если они пересекаются, или None, если нет.
- свойство
intervalx -
Пара координат x, определяющих область.
Не гарантируется, что они отсортированы слева направо.
- свойство
intervaly -
Пара координат y, определяющих область.
Не гарантируется, что они отсортированы снизу вверх.
-
inverse_transformed(transform)[source] -
[Устарело] Создаёт
Bboxпутём статического преобразования этой области с использованием обратного преобразования transform.Примечания
Устарело начиная с версии 3.3.
-
is_affine= True
-
is_bbox= True
- свойство
max -
Правый верхний угол области.
- свойство
min -
Левый нижний угол области.
-
overlaps(other)[source] -
Возвращает значение, указывающее, перекрывается ли эта область с другой областью.
Параметры: -
other
BboxBase
-
other
- свойство
p0 -
Первая пара координат (x, y), определяющих область.
Не гарантируется, что это левый нижний угол (для этого используйте
min).
- свойство
p1 -
Вторая пара координат (x, y), определяющих область.
Не гарантируется, что это правый верхний угол (для этого используйте
max).
-
padded(p)[source] -
Создаёт
Bboxпутём добавления отступа по всем четырём сторонам на p.
-
rotated(radians)[source] -
Возвращает выровненную по осям область, ограничивающую результат поворота этой
Bboxна угол radians.
-
shrunk(mx, my)[source] -
Возвращает копию
Bbox, сжатую на коэффициент mx по оси x и my по оси y. Левый нижний угол остаётся без изменений. Обычно mx и my будут меньше 1, но это не является обязательным.
-
shrunk_to_aspect(box_aspect, container=None, fig_aspect=1.0)[source] -
Возвращает копию
Bbox, сжатую до желаемого соотношения сторон box_aspect. Если координаты области относительны (т.е. доли большей области, например, фигуры), то физическое соотношение сторон этой фигуры задаётся параметром fig_aspect, таким образом, box_aspect можно задавать как отношение абсолютных размеров, а не относительных.
- свойство
size -
Ширина и высота (со знаком) области.
-
splitx(*args)[source] -
Возвращает список новых
Bboxобъектов, полученных путём разделения исходного объекта вертикальными линиями в заданных долях, указанных в args.
-
-
splity(*args)[source] -
Возвращает список новых объектов
Bbox, образованных путем разделения исходного объекта горизонтальными линиями в дробных позициях, заданных параметром args.
-
transformed(transform)[source] -
Создаёт
Bboxпутём статического преобразования текущего объекта с помощью transform.
-
translated(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
y0 -
Первая из пары координат y, определяющих область.
Не гарантируется, что будет меньше, чем
y1(для этого используйтеymin).
- 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__(boxin, boxout, **kwargs)[source] -
Создаёт новый
BboxTransform, который линейно преобразует точки из boxin в boxout.
-
__module__= 'matplotlib.transforms'
-
__str__() -
Возвращает строковое представление объекта.
-
get_matrix()[source] -
Возвращает матрицу для аффинной части преобразования.
-
is_separable= True
-
- класс
matplotlib.transforms.BboxTransformFrom(boxin, **kwargs)[source] -
Базы:
matplotlib.transforms.Affine2DBaseBboxTransformFromлинейно преобразует точки из заданногоBboxв единичный прямоугольник.Параметры: - shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме улучшения читабельности
str(transform)при DEBUG=True.
-
__init__(boxin, **kwargs)[source] -
Параметры: - shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме улучшения читабельности
str(transform)при DEBUG=True.
-
__module__= 'matplotlib.transforms'
-
__str__() -
Возвращает str(self).
-
get_matrix()[source] -
Получить матрицу для аффинной части этого преобразования.
-
is_separable= True
- класс
matplotlib.transforms.BboxTransformTo(boxout, **kwargs)[source] -
Базы:
matplotlib.transforms.Affine2DBaseBboxTransformTo— это преобразование, которое линейно преобразует точки из единичного прямоугольника в заданныйBbox.Создать новое
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.-
__init__(boxout, **kwargs)[source] -
Создать новое
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.
-
__module__= 'matplotlib.transforms'
-
__str__() -
Возвращает str(self).
-
get_matrix()[source] -
Получить матрицу для аффинной части этого преобразования.
-
is_separable= True
-
- класс
matplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs)[source] -
Базы:
matplotlib.transforms.BboxTransformToBboxTransformTo— это преобразование, которое линейно преобразует точки из единичного прямоугольника в заданныйBboxс фиксированным верхним левым углом (0, 0).Создать новое
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.-
__module__= 'matplotlib.transforms'
-
get_matrix()[source] -
Получить матрицу для аффинной части этого преобразования.
-
- класс
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__(x_transform, y_transform, **kwargs)[source] -
Создаёт новое «смешанное» преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Оба x_transform и y_transform должны быть 2D аффинные преобразования.
Обычно вы не будете вызывать этот конструктор напрямую, а воспользуетесь функцией
blended_transform_factory, которая может автоматически определить, какой тип смешанного преобразования создать.
-
__module__= 'matplotlib.transforms'
-
get_matrix()[source] -
Получить матрицу для аффинной части этого преобразования.
-
is_separable= True
-
- класс
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__(x_transform, y_transform, **kwargs)[source] -
Создаёт новое «смешанное» преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Обычно вы не будете вызывать этот конструктор напрямую, а воспользуетесь функцией
blended_transform_factory, которая может автоматически определить, какой тип смешанного преобразования создать.
-
__module__= 'matplotlib.transforms'
-
contains_branch(other)[source] -
Возвращает, является ли заданное преобразование поддеревом этого преобразования.
Эта функция использует равенство преобразований для идентификации поддеревьев, поэтому во многих ситуациях используется идентификатор объекта.
В случае, когда заданное преобразование представляет собой всё это преобразование, возвращает True.
- свойство
depth -
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра преобразования.
Примечание
Для специального случая составного преобразования возвращается максимальная глубина из двух.
-
frozen()[source] -
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()обычно используется.
-
get_affine()[source] -
Возвращает аффинную часть этого преобразования.
- свойство
has_inverse -
bool(x) -> bool
Возвращает True, если аргумент x имеет значение True, в противном случае — False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
-
input_dims= 2
-
inverted()[source] -
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Результат выполнения этого метода должен рассматриваться как временный. Обновление self не приводит к соответствующему обновлению его инвертированной копии.
- свойство
is_affine -
bool(x) -> bool
Возвращает True, если аргумент x имеет значение True, в противном случае — False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
-
is_separable= True
-
output_dims= 2
-
pass_through= True
-
transform_non_affine(points)[source] -
Применяет только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).При неаффинных преобразованиях это обычно эквивалентно
transform(values). При аффинных преобразованиях это всегда бесполезно.Параметры: - значениямассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения в виде массива NumPy длиной
input_dimsили формы (N xoutput_dims), в зависимости от входных данных.
-
- класс
matplotlib.transforms.CompositeAffine2D(a, b, **kwargs)[source] -
Базы:
matplotlib.transforms.Affine2DBaseСоставной преобразователь, образованный применением преобразователя a, а затем преобразователя b.
Этот вариант является оптимизацией, которая обрабатывает случай, когда a и b являются 2D аффинами.
Создать новый составной преобразователь, который является результатом применения
Affine2DBasea, а затемAffine2DBaseb.Обычно вы не будете вызывать этот конструктор напрямую, а напишете
a + b, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.-
__init__(a, b, **kwargs)[source] -
Создать новый составной преобразователь, который является результатом применения
Affine2DBasea, а затемAffine2DBaseb.Обычно вы не будете вызывать этот конструктор напрямую, а напишете
a + b, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.
-
__module__= 'matplotlib.transforms'
-
__str__() -
Возвращает str(self).
- свойство
depth -
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра преобразователя.
Примечание
В случае составного преобразователя возвращается максимальная глубина из двух.
-
get_matrix()[source] -
Получить матрицу для аффинной части этого преобразователя.
-
- класс
matplotlib.transforms.CompositeGenericTransform(a, b, **kwargs)[source] -
Базовое класс:
matplotlib.transforms.TransformСоставной преобразователь, образованный применением преобразователя a, а затем преобразователя b.
Этот «обобщённый» вариант может обрабатывать любые два произвольных преобразования.
Создаёт новый составной преобразователь, который является результатом применения преобразователя a, а затем преобразователя b.
Обычно вы не будете вызывать этот конструктор напрямую, но напишите
a + bвместо него, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.-
__eq__(other)[source] -
Возвращает self==value.
-
__hash__= None
-
__init__(a, b, **kwargs)[source] -
Создаёт новый составной преобразователь, который является результатом применения преобразователя a, а затем преобразователя b.
Обычно вы не будете вызывать этот конструктор напрямую, но напишите
a + bвместо него, который автоматически выберет лучший тип экземпляра составного преобразователя для создания.
-
__module__= 'matplotlib.transforms'
-
__str__() -
Возвращает str(self).
- свойство
depth -
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра Transform.
Примечание
В случае специального преобразователя Composite возвращается максимальная глубина из двух.
-
frozen()[source] -
Возвращает замороженную копию этого преобразователя. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для хранения ранее известного состояния преобразователя, где
copy.deepcopy()обычно используется.
-
get_affine()[source] -
Получает аффинное преобразование этого преобразователя.
- свойство
has_inverse -
bool(x) -> bool
Возвращает True, если аргумент x истинный, иначе False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
-
inverted()[source] -
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Результат работы этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его инвертированной копии.
- свойство
is_affine -
bool(x) -> bool
Возвращает True, если аргумент x истинный, иначе False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
- свойство
is_separable -
bool(x) -> bool
Возвращает True, если аргумент x истинный, иначе False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
-
pass_through= True
-
transform_affine(points)[source] -
Применяет только аффинное преобразование к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях, это обычно «пустое» действие. В аффинных преобразованиях это эквивалентно
transform(values).Параметры: - значениямассив
-
Входные значения в виде массива NumPy длины
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения в виде массива NumPy длины
input_dimsили формы (N xoutput_dims), в зависимости от ввода.
-
transform_non_affine(points)[source] -
Применяет только неаффинное преобразование.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях, это обычно эквивалентно
transform(values). В аффинных преобразованиях это всегда «пустое» действие.Параметры: - значениямассив
-
Входные значения в виде массива 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__() -
Возвращает str(self).
-
frozen()[source] -
Возвращает замороженную копию этого преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()обычно может использоваться.
-
get_affine()[source] -
Получает аффинное преобразование этого преобразования.
-
get_matrix()[source] -
Получает матрицу для аффинного преобразования.
-
inverted()[source] -
Возвращает соответствующее обратное преобразование.
Содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его обратной копии.
-
transform(points)[source] -
Применяет это преобразование к заданному массиву значений.
Параметры: - valuesarray
-
Входные значения как массив NumPy длиной
input_dimsили формы (N xinput_dims).
Возвращает: - array
-
Выходные значения как массив NumPy длиной
input_dimsили формы (N xoutput_dims), в зависимости от ввода.
-
transform_affine(points)[source] -
Применяет только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, пустая операция. В аффинных преобразованиях это эквивалентно
transform(values).Параметры: - valuesarray
-
Входные значения как массив NumPy длиной
input_dimsили формы (N xinput_dims).
Возвращает: - array
-
Выходные значения как массив NumPy длиной
input_dimsили формы (N xoutput_dims), в зависимости от ввода.
-
transform_non_affine(points)[source] -
Применяет только неаффинные части этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, эквивалентно
transform(values). В аффинных преобразованиях это всегда пустая операция.Параметры: - valuesarray
-
Входные значения как массив NumPy длиной
input_dimsили формы (N xinput_dims).
Возвращает: - array
-
Выходные значения как массив NumPy длиной
input_dimsили формы (N xoutput_dims), в зависимости от ввода.
-
transform_path(path)[source] -
Применяет преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставлять кривые в путь, который изначально представлял собой отрезки прямых.
- class
matplotlib.transforms.LockableBbox(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[source] -
Bases:
matplotlib.transforms.BboxBaseA
Bbox, где некоторые элементы могут быть заблокированы на определённых значениях.При изменении дочернего прямоугольника, границы этого прямоугольника будут обновляться соответствующим образом, за исключением заблокированных элементов.
Параметры: -
bbox
Bbox -
Прямоугольник дочернего объекта для обёртки.
- x0float или None
-
Заблокированное значение для x0 или None для разблокирования.
- y0float или None
-
Заблокированное значение для y0 или None для разблокирования.
- x1float или None
-
Заблокированное значение для x1 или None для разблокирования.
- y1float или None
-
Заблокированное значение для y1 или None для разблокирования.
-
__init__(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[source] -
Параметры: -
bbox
Bbox -
Прямоугольник дочернего объекта для обёртки.
- x0float или None
-
Заблокированное значение для x0 или None для разблокирования.
- y0float или None
-
Заблокированное значение для y0 или None для разблокирования.
- x1float или None
-
Заблокированное значение для x1 или None для разблокирования.
- y1float или None
-
Заблокированное значение для y1 или None для разблокирования.
-
bbox
-
__module__= 'matplotlib.transforms'
-
__str__() -
Возвращает str(self).
-
get_points()[source]
- свойство
locked_x0 -
float или None: значение, используемое для заблокированного x0.
- свойство
locked_x1 -
float или None: значение, используемое для заблокированного x1.
- свойство
locked_y0 -
float или None: значение, используемое для заблокированного y0.
- свойство
locked_y1 -
float или None: значение, используемое для заблокированного y1.
-
bbox
- class
matplotlib.transforms.ScaledTranslation(xt, yt, scale_trans, **kwargs)[source] -
Bases:
matplotlib.transforms.Affine2DBaseПреобразование, которое осуществляет сдвиг на xt и yt после того, как xt и yt были преобразованы с помощью scale_trans.
Параметры: - имя_короткой_записиstr
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
__init__(xt, yt, scale_trans, **kwargs)[source] -
Параметры: - имя_короткой_записиstr
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
__module__= 'matplotlib.transforms'
-
__str__() -
Возвращает str(self).
-
get_matrix()[source] -
Получить матрицу для аффинной части этого преобразования.
- класс
matplotlib.transforms.Transform(shorthand_name=None)[source] -
Базовый класс всех экземпляров
matplotlib.transforms.TransformNode, которые фактически выполняют преобразование.Все неаффинные преобразования должны быть подклассами этого класса. Новые аффинные преобразования должны быть подклассами
Affine2D.Подклассы этого класса должны переопределять следующие члены (как минимум):
input_dimsoutput_dimstransform()-
inverted()(если обратное преобразование существует)
Следующие атрибуты можно переопределить, если значение по умолчанию не подходит:
-
is_separable(по умолчанию True для преобразований 1D -> 1D, иначе False) -
has_inverse(по умолчанию True, еслиinverted()переопределен, иначе False)
Если преобразование должно выполнить нестандартное действие с объектами
matplotlib.path.Path, например, добавить кривые там, где раньше были отрезки прямых, необходимо переопределить:Параметры: - shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет особого значения, кроме улучшения удобочитаемости
str(transform)когда DEBUG=True.
-
__add__(other)[source] -
Объединение двух преобразований так, что self выполняется перед other.
A + Bвозвращает преобразованиеCтаким образом, чтоC.transform(x) == B.transform(A.transform(x)).
-
__array__(*args, **kwargs)[source] -
Интерфейс массива для доступа к матрице аффинного преобразования этого объекта.
- метод класса
__init_subclass__()[source] -
Этот метод вызывается при создании подкласса.
Реализация по умолчанию ничего не делает. Ее можно переопределить для расширения подклассов.
-
__module__= 'matplotlib.transforms'
-
__sub__(other)[source] -
Объединение self с обратным преобразованием other, отменяя одинаковые члены, если таковые имеются:
# In general: A - B == A + B.inverted() # (but see note regarding frozen transforms below). # If A "ends with" B (i.e. A == A' + B for some A') we can cancel # out B: (A' + B) - B == A' # Likewise, if B "starts with" A (B = A + B'), we can cancel out A: A - (A + B') == B'.inverted() == B'^-1
Отмена (вместо наивного возвращения
A + B.inverted()) важна по нескольким причинам:- Это позволяет избежать погрешностей с плавающей точкой при вычислении обратного преобразования B:
B - Bгарантированно будет отменен точно (в результате будет преобразование тождества), тогда какB + B.inverted()может отличаться на небольшую величину epsilon. -
B.inverted()всегда возвращает замороженное преобразование: если вычислитьA + B + B.inverted()и затем изменитьB, тоB.inverted()не будет обновлено, и последние два члена больше не будут отменены; с другой стороны,A + B - Bвсегда будет равноA, даже еслиBизменится.
- Это позволяет избежать погрешностей с плавающей точкой при вычислении обратного преобразования B:
-
contains_branch(other)[source] -
Возвращает, является ли данное преобразование поддеревом этого преобразования.
Эта функция использует равенство преобразований для определения поддеревьев, поэтому во многих ситуациях будет использоваться идентификатор объекта.
В случае, когда данное преобразование представляет собой все это преобразование, возвращает True.
-
contains_branch_seperately(other_transform)[source] -
Возвращает, является ли заданная ветвь поддеревом этого преобразования по каждой отдельной размерности.
Частое использование этого метода заключается в определении, является ли преобразование смешанным преобразованием, содержащим преобразование данных осей. Например:
x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
- свойство
depth -
Возвращает количество преобразований, которые были объединены для создания этого экземпляра преобразования.
Примечание
В случае с композитным преобразованием возвращается максимальная глубина двух преобразований.
-
get_affine()[source] -
Получение аффинной части этого преобразования.
-
get_matrix()[source] -
Получение матрицы для аффинной части этого преобразования.
-
has_inverse= False -
True, если для этого преобразования существует соответствующее обратное преобразование.
-
input_dims= None -
Число входных размерностей этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
-
inverted()[source] -
Возвращение соответствующего обратного преобразования.
Он содержит
x == self.inverted().transform(self.transform(x)).Значение, возвращаемое этим методом, следует рассматривать как временное. Обновление self не вызывает соответствующее обновление его обратного экземпляра.
-
is_separable= False -
True, если это преобразование разделимо по осям x и y.
-
output_dims= None -
Число выходных размерностей этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
-
transform(values)[source] -
Примените это преобразование к заданному массиву значений.
Параметры: - valuesмассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения в виде массива NumPy длиной
input_dimsили формы (N xoutput_dims), в зависимости от ввода.
-
transform_affine(values)[source] -
Примените только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, нет операция. В аффинных преобразованиях это эквивалентно
transform(values).Параметры: - valuesмассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения в виде массива NumPy длиной
input_dimsили формы (N xoutput_dims), в зависимости от ввода.
-
transform_angles(angles, pts, radians=False, pushoff=1e-05)[source] -
Преобразование набора углов, закрепленных в определенных местах.
Параметры: - angles(N,) array-like
-
Углы для преобразования.
- pts(N, 2) array-like
-
Точки, где углы закреплены.
- radiansbool, по умолчанию: False
-
Указывается, являются ли angles радианами или градусами.
- pushofffloat
-
Для каждой точки в pts и угла в angles преобразованный угол вычисляется путем преобразования сегмента длиной pushoff, начиная с этой точки и создавая этот угол относительно горизонтальной оси, и измеряя угол между горизонтальной осью и преобразованным сегментом.
Возвращает: - (N,) массив
-
transform_bbox(bbox)[source] -
Преобразуйте заданную область.
Для более интеллектуальных преобразований, включающих кэширование (частая необходимость в Matplotlib), см.
TransformedBbox.
-
transform_non_affine(values)[source] -
Примените только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, эквивалентно
transform(values). В аффинных преобразованиях это всегда нет операция.Параметры: - valuesмассив
-
Входные значения в виде массива NumPy длиной
input_dimsили формы (N xinput_dims).
Возвращает: - массив
-
Выходные значения в виде массива NumPy длиной
input_dimsили формы (N xoutput_dims), в зависимости от ввода.
-
transform_path(path)[source] -
Примените преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставлять кривые в траекторию, которая изначально представляла собой отрезки.
-
-
transform_point(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__()[source]
-
__deepcopy__(memo)[source]
-
__dict__= mappingproxy({'__module__': 'matplotlib.transforms', '__doc__': '\n Преобразование базы для всего, что участвует в дереве преобразований\n и требует недействительности своих родителей или быть недействительным. Это включает\n классы, которые на самом деле не являются преобразованиями, такие как ограничивающие прямоугольники, так как некоторые\n преобразования зависят от ограничивающих прямоугольников для вычисления своих значений.\n ', 'INVALID_NON_AFFINE': 1, 'INVALID_AFFINE': 2, 'INVALID': 3, 'is_affine': False, 'is_bbox': False, 'pass_through': False, '__init__': <function TransformNode.__init__>, '__getstate__': <function TransformNode.__getstate__>, '__setstate__': <function TransformNode.__setstate__>, '__copy__': <function TransformNode.__copy__>, '__deepcopy__': <function TransformNode.__deepcopy__>, 'invalidate': <function TransformNode.invalidate>, '_invalidate_internal': <function TransformNode._invalidate_internal>, 'set_children': <function TransformNode.set_children>, 'frozen': <function TransformNode.frozen>, '__dict__': <attribute '__dict__' of 'TransformNode' objects>, '__weakref__': <attribute '__weakref__' of 'TransformNode' objects>, '__annotations__': {}})
-
__getstate__()[source]
-
__init__(shorthand_name=None)[source] -
Параметры: - shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
-
__module__= 'matplotlib.transforms'
-
__setstate__(data_dict)[source]
-
__weakref__ -
список слабых ссылок на объект (если определен)
-
frozen()[source] -
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()обычно используется.
-
invalidate()[source] -
Отметить этот
TransformNodeкак недействительный и инициировать недействительность его предков. Должно вызываться всякий раз, когда преобразование изменяется.
-
is_affine= False
-
is_bbox= False
-
pass_through= False -
Если pass_through имеет значение True, все предки всегда будут помечены как недействительные, даже если «self» уже недействителен.
-
set_children(*children)[source] -
Установите дочерние элементы преобразования, чтобы система недействительности знала, какие преобразования могут сделать это преобразование недействительным. Должно вызываться из конструктора любых преобразований, которые зависят от других преобразований.
- класс
matplotlib.transforms.TransformWrapper(child)[source] -
Базы:
matplotlib.transforms.TransformВспомогательный класс, содержащий один преобразующий объект и действующий аналогично ему.
Это полезно, если узел дерева преобразования должен быть заменён во время выполнения преобразованием другого типа. Этот класс позволяет такой замене правильно вызвать обновление.
Экземпляры
TransformWrapperдолжны иметь одинаковые входные и выходные размерности на протяжении всего своего жизненного цикла, поэтому преобразующий объект можно заменить только другим преобразующим объектом с теми же размерностями.child: Экземпляр
Transform. Этот объект позже можно заменить с помощьюset().-
__eq__(other)[source] -
Возвращает self==value.
-
__hash__= None
-
__init__(child)[source] -
child: Экземпляр
Transform. Этот объект позже можно заменить с помощьюset().
-
__module__= 'matplotlib.transforms'
-
__str__() -
Возвращает str(self).
-
frozen()[source] -
Возвращает замороженную копию узла преобразования. Замороженная копия не будет обновляться при изменении дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()обычно можно использовать.
- свойство
has_inverse -
bool(x) -> bool
Возвращает True, если аргумент x истинный, иначе False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- свойство
is_affine -
bool(x) -> bool
Возвращает True, если аргумент x истинный, иначе False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- свойство
is_separable -
bool(x) -> bool
Возвращает True, если аргумент x истинный, иначе False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассом.
-
pass_through= True
-
set(child)[source] -
Заменяет текущий дочерний элемент этого преобразования другим.
Новый дочерний элемент должен иметь такое же количество входных и выходных размерностей, как и текущий.
-
- класс
matplotlib.transforms.TransformedBbox(bbox, transform, **kwargs)[source] -
Базы:
matplotlib.transforms.BboxBaseОбъект
Bbox, автоматически преобразуемый заданным преобразованием. При изменении дочерней области или преобразования пределы этой области будут обновляться соответствующим образом.Параметры: -
__module__= 'matplotlib.transforms'
-
__str__() -
Возвращает str(self).
-
get_points()[source]
-
- класс
matplotlib.transforms.TransformedPatchPath(patch)[source] -
Базы:
matplotlib.transforms.TransformedPathКласс
TransformedPatchPathкэширует неаффинное преобразованное копиюPatch. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования или области.Параметры: -
patch
Patch
-
__init__(patch)[source] -
Параметры: -
patch
Patch
-
patch
-
__module__= 'matplotlib.transforms'
-
patch
- класс
matplotlib.transforms.TransformedPath(path, transform)[source] -
Базы:
matplotlib.transforms.TransformNodeКласс
TransformedPathкэширует неаффинное преобразованное копиюPath. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования.Примечание
Объекты Path считаются неизменяемыми в этом классе. Любые изменения вершин/кодов пути не приведут к пересчету преобразования.
Параметры: -
__module__= 'matplotlib.transforms'
-
get_affine()[source]
-
get_fully_transformed_path()[source] -
Возвращает полностью преобразованную копию дочернего пути.
-
get_transformed_path_and_affine()[source] -
Возвращает копию дочернего пути, с уже применённой неаффинной частью преобразования, вместе с аффинной частью пути, необходимой для завершения преобразования.
-
get_transformed_points_and_affine()[source] -
Возвращает копию дочернего пути, с уже применённой неаффинной частью преобразования, вместе с аффинной частью пути, необходимой для завершения преобразования. В отличие от
get_transformed_path_and_affine(), интерполяция не будет выполнена.
-
-
matplotlib.transforms.blended_transform_factory(x_transform, y_transform)[source] -
Создает новое «смешанное» преобразование, использующее x_transform для преобразования оси x и y_transform для преобразования оси y.
Возвращается более быстрая версия смешанного преобразования в случае, когда оба дочерних преобразования являются аффинными.
-
matplotlib.transforms.composite_transform_factory(a, b)[source] -
Создаёт новое составное преобразование, которое является результатом применения преобразования a, а затем преобразования b.
Предоставляются сокращенные версии смешанного преобразования для случаев, когда оба дочерних преобразования являются аффинными, или одно из них является тождественным преобразованием.
Составные преобразования также могут быть созданы с помощью оператора '+', например:
c = a + b
-
matplotlib.transforms.interval_contains(interval, val)[source] -
Проверяет, включает ли заданный интервал данное значение (включая границы).
Параметры: - interval(float, float)
-
Конечные точки интервала.
- valfloat
-
Значение, которое нужно проверить на принадлежность интервалу.
Возвращает: - bool
-
Принадлежит ли val интервалу interval.
-
matplotlib.transforms.interval_contains_open(interval, val)[source] -
Проверка, исключая конечные точки, входит ли значение в заданный интервал.
Параметры: - interval(float, float)
-
Конечные точки интервала.
- valfloat
-
Значение, которое проверяется на вхождение в интервал.
Возвращает: - bool
-
Является ли val элементом interval.
-
matplotlib.transforms.nonsingular(vmin, vmax, expander=0.001, tiny=1e-15, increasing=True)[source] -
Изменение конечных точек диапазона при необходимости для избежания особенностей.
Параметры: - vmin, vmaxfloat
-
Исходные конечные точки.
- expanderfloat, по умолчанию: 0.001
-
Дробная величина расширения vmin и vmax, если исходный интервал слишком мал, основанная на tiny.
- tinyfloat, по умолчанию: 1e-15
-
Порог для отношения интервала к максимальному абсолютному значению его конечных точек. Если интервал меньше этого значения, он будет расширен. Это значение должно быть около 1e-15 или больше; в противном случае интервал будет приближаться к пределу разрешения двойной точности.
- increasingbool, по умолчанию: True
-
Если True, поменять местами vmin и vmax, если vmin > vmax.
Возвращает: - vmin, vmaxfloat
-
Конечные точки, расширенные и/или поменянные местами, если необходимо. Если какой-либо из входных данных равен inf или NaN, или если оба входных данных равны 0 или очень близки к нулю, возвращает -expander, expander.
-
matplotlib.transforms.offset_copy(trans, fig=None, x=0.0, y=0.0, units='inches')[source] -
Возвращает новый трансформер с добавленным смещением.
Параметры: Возвращает: -
Transformподкласс -
Трансформер со примененным смещением.
-
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/transformations.html