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