matplotlib.transforms
Библиотека Matplotlib включает в себя фреймворк для произвольных геометрических преобразований, используемых для определения конечного расположения всех элементов, нарисованных на холсте.
Преобразования объединяются в деревья объектов TransformNode, чьё фактическое значение зависит от их дочерних элементов. При изменении содержимого дочерних элементов, их родительские элементы автоматически отмечаются как недействительные. При следующем обращении к недействительному преобразованию, оно пересчитывается, чтобы отразить эти изменения. Этот подход с отменой/кэшированием предотвращает ненужные пересчёты преобразований и способствует лучшему взаимодействию.
Например, вот граф дерева преобразований, используемого для вывода данных на график:
Фреймворк может использоваться для аффинных и неаффинных преобразований. Однако для повышения скорости, мы хотим использовать бэкенд-рендеры для выполнения аффинных преобразований, когда это возможно. Поэтому можно выполнять только аффинную или неаффинную часть преобразования над набором данных. Аффинноe преобразование всегда предполагается после неаффинного. Для любого преобразования:
full transform == non-affine part + affine part
Бэкэнды не должны обрабатывать неаффинные преобразования самостоятельно.
См. учебник Учебник по преобразованиям для примеров использования преобразований.
- classmatplotlib.transforms.Affine2D(matrix=None, **kwargs)[source]
-
Bases:
Affine2DBaseИзменяемая 2D аффинная трансформация.
Инициализация аффинной трансформации из 3x3 массива numpy с плавающей точкой:
a c e b d f 0 0 1
Если matrix равно None, инициализируется с единичной трансформацией.
- clear()[source]
-
Сброс базовой матрицы до единичной трансформации.
- staticfrom_values(a, b, c, d, e, f)[source]
-
Создание нового экземпляра Affine2D из заданных значений:
a c e b d f 0 0 1
.
- get_matrix()[source]
-
Получение базовой матрицы преобразования в виде массива 3x3:
a c e b d f 0 0 1
.
- 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:
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().
- classmatplotlib.transforms.Affine2DBase(*args, **kwargs)[source]
-
Базовый класс всех 2D аффинных преобразований.
2D аффинные преобразования выполняются с помощью 3x3 массива numpy:
a c e b d f 0 0 1
Этот класс предоставляет только для чтения интерфейс. Для изменяемого 2D аффинного преобразования используйте
Affine2D.Подклассы этого класса, как правило, будут нуждаться только в переопределении конструктора и
get_matrix, которые генерируют пользовательскую 3x3 матрицу.- Parameters:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме улучшения читаемости
str(transform)при DEBUG=True.
- frozen()[source]
-
Возвращает замороженную копию этого преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()может обычно использоваться.
- has_inverse=True
-
True, если у этого преобразования есть соответствующее обратное преобразование.
- input_dims=2
-
Количество входных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- inverted()[source]
-
Возвращает соответствующее обратное преобразование.
Он содержит
x == self.inverted().transform(self.transform(x)).Значение, возвращаемое этим методом, следует рассматривать как временное. Обновление self не приводит к соответствующему обновлению его обратной копии.
- propertyis_separable
-
bool(x) -> bool
Возвращает True, когда аргумент x равен true, False в противном случае. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- output_dims=2
-
Количество выходных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- to_values()[source]
-
Возвращает значения матрицы как
(a, b, c, d, e, f)кортеж.
- transform_affine(values)[source]
-
Применить только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно ничего не делает. В аффинных преобразованиях это эквивалентно
transform(values).- Parameters:
-
- valuesarray
-
Входные значения в виде массива длины
input_dimsили формы (N,input_dims).
- Returns:
-
- array
-
Выходные значения в виде массива длины
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- classmatplotlib.transforms.AffineBase(*args, **kwargs)[source]
-
Bases:
TransformБазовый класс всех аффинных преобразований любого числа измерений.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме как для повышения удобочитаемости
str(transform)при DEBUG=True.
- get_affine()[source]
-
Получить аффинную часть этого преобразования.
- is_affine=True
- transform(values)[source]
-
Применить это преобразование к заданному массиву значений.
- Параметры:
-
- valuesarray-like
-
Вводные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_affine(values)[source]
-
Применить только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, ничего не делает. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- valuesмассив
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_non_affine(values)[source]
-
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это, как правило, эквивалентно
transform(values). В аффинных преобразованиях это всегда ничего не делает.- Параметры:
-
- valuesмассив
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_path(path)[source]
-
Применить преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставить кривые в путь, который начинался как отрезки прямых.
- classmatplotlib.transforms.AffineDeltaTransform(transform, **kwargs)[source]
-
Bases:
Affine2DBaseОбёртка преобразования для преобразования перемещений между парами точек.
Этот класс предназначен для преобразования перемещений («смещений положения») между парами точек (например, в качестве
offset_transformCollection): задано преобразованиеtтакое, чтоt = AffineDeltaTransform(t) + offset,AffineDeltaTransformудовлетворяетAffineDeltaTransform(a - b) == AffineDeltaTransform(a) - AffineDeltaTransform(b).Это реализуется принудительным обнулением компонентов смещения матрицы преобразования.
Этот класс является экспериментальным по состоянию на 3.3, и API может измениться.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме как для повышения удобочитаемости
str(transform)при DEBUG=True.
- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- classmatplotlib.transforms.Bbox(points, **kwargs)[source]
-
Основания:
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]])
- Параметры:
-
-
points
ndarray -
Массив (2, 2) вида
[[x0, y0], [x1, y1]].
-
points
- staticfrom_bounds(x0, y0, width, height)[source]
-
Создать новый
Bboxиз x0, y0, width и height.width и height могут быть отрицательными.
- staticfrom_extents(*args, minpos=None)[source]
-
Создать новый прямоугольник из left, bottom, right и top.
Ось y возрастает вверх.
- Параметры:
-
- left, bottom, right, topfloat
-
Четыре границы прямоугольника.
- minposfloat или None
-
Если задано, прямоугольник будет иметь минимальное положительное значение. Это полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей запятой.
- frozen()[source]
-
Базовый класс для всех элементов, участвующих в дереве преобразований, и требующих недействительности своих родителей или своей недействительности. Это включает классы, которые на самом деле не являются преобразованиями, такие как прямоугольники, так как некоторые преобразования зависят от прямоугольников для вычисления своих значений.
- get_points()[source]
-
Получить точки прямоугольника в виде массива вида
[[x0, y0], [x1, y1]].
- ignore(value)[source]
-
Установить, следует ли игнорировать существующие границы прямоугольника в последующих вызовах
update_from_data_xy().- valuebool
-
- При
True, последующие вызовыupdate_from_data_xyпроигнорируют существующие границыBbox. - При
False, последующие вызовыupdate_from_data_xyбудут включать существующие границыBbox.
- При
- propertyintervalx
-
Пара x-координат, определяющих прямоугольник.
Не гарантируется, что она будет отсортирована слева направо.
- propertyintervaly
-
Пара y-координат, определяющих прямоугольник.
Не гарантируется, что она будет отсортирована снизу вверх.
- propertyminpos
-
Минимальное положительное значение в обоих направлениях в прямоугольнике.
Полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей запятой, и будет использоваться как минимальное значение вместо p0.
- propertyminposx
-
Минимальное положительное значение в направлении x в прямоугольнике.
Полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей запятой, и будет использоваться как минимальное x-значение вместо x0.
- propertyminposy
-
Минимальное положительное значение в направлении y в прямоугольнике.
Полезно при работе с логарифмическими шкалами и другими шкалами, где отрицательные границы приводят к ошибкам с плавающей запятой, и будет использоваться как минимальное y-значение вместо y0.
- mutated()[source]
-
Возвращает, был ли прямоугольник изменен с момента инициализации.
- mutatedx()[source]
-
Возвращает, были ли изменены x-пределы с момента инициализации.
- mutatedy()[source]
-
Возвращает, были ли изменены y-пределы с момента инициализации.
- staticnull()[source]
-
Создать новый нулевой прямоугольник
Bboxот (бесконечность, бесконечность) до (-бесконечность, -бесконечность).
- propertyp0
-
Первая пара координат (x, y), определяющих прямоугольник.
Это не гарантирует, что это нижний левый угол (для этого используйте
min).
- propertyp1
-
Вторая пара координат (x, y), определяющих прямоугольник.
Это не гарантирует, что это верхний правый угол (для этого используйте
max).
- set(other)[source]
-
Установить этот прямоугольник из "замороженных" границ другого
Bbox.
- set_points(points)[source]
-
Непосредственно задать точки прямоугольника из массива вида
[[x0, y0], [x1, y1]]. Проверка ошибок не выполняется, так как этот метод используется в основном для внутренних целей.
- staticunit()[source]
-
Создать новый единичный прямоугольник
Bboxот (0, 0) до (1, 1).
- update_from_data_x(x, ignore=None)[source]
-
Обновить границы x
Bboxна основе переданных данных. После обновления границы будут иметь положительную ширину, а x0 будет минимальным значением.
- update_from_data_xy(xy, ignore=None, updatex=True, updatey=True)[source]
-
Обновить границы
Bboxна основе переданных координат xy.После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.
- Parameters:
- update_from_data_y(y, ignore=None)[source]
-
Обновить границы y
Bboxна основе переданных данных. После обновления границы будут иметь положительную высоту, а y0 будет минимальным значением.
- update_from_path(path, ignore=None, updatex=True, updatey=True)[source]
-
Обновляет границы
Bboxтак, чтобы они содержали вершины предоставленной траектории. После обновления границы будут иметь положительную ширину и высоту; x0 и y0 будут минимальными значениями.
- propertyx0
-
Первое из пары координат x, определяющих прямоугольник.
Не гарантируется, что это будет меньше
x1(для этого используйтеxmin).
- propertyx1
-
Второе из пары координат x, определяющих прямоугольник.
Не гарантируется, что это будет больше
x0(для этого используйтеxmax).
- propertyy0
-
Первое из пары координат y, определяющих прямоугольник.
Не гарантируется, что это будет меньше
y1(для этого используйтеymin).
- propertyy1
-
Второе из пары координат y, определяющих прямоугольник.
Не гарантируется, что это будет больше
y0(для этого используйтеymax).
- classmatplotlib.transforms.BboxBase(shorthand_name=None)[source]
-
Bases:
TransformNodeБазовый класс всех ограничивающих прямоугольников.
Этот класс неизменяемый;
Bboxявляется изменяемым подклассом.Каноническое представление — это две точки без ограничений на их порядок. Предоставляются удобные свойства для получения левого, нижнего, правого и верхнего краев, а также ширины и высоты, но они не хранятся явно.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая «название» преобразования. Название не имеет значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
- anchored(c, container=None)[source]
-
Возвращает копию
Bbox, привязанную к c в container.- Параметры:
-
- c(float, float) или {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}
-
Пара (x, y) относительных координат (0 — слева или снизу, 1 — справа или сверху), 'C' (центр) или направление по сторонам света ('SW' — юго-запад, это нижний левый угол и т. д.).
-
container
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 игнорируются.- Параметры:
-
- vertices(N, 2) массив
- count_overlaps(bboxes)[source]
-
Подсчитывает количество ограничивающих прямоугольников, пересекающихся с этим.
- Параметры:
-
-
bboxesпоследовательность
BboxBase
-
bboxesпоследовательность
- expanded(sw, sh)[source]
-
Создает
Bbox, расширив этот вокруг его центра на множители sw и sh.
- frozen()[source]
-
Базовый класс для всего, что участвует в дереве преобразований и должно делать недействительными своих родителей или быть сделано недействительным. Это включает классы, которые не являются преобразованиями, такие как ограничивающие прямоугольники, так как некоторые преобразования зависят от ограничивающих прямоугольников для вычисления своих значений.
- fully_contains(x, y)[source]
-
Возвращает, находится ли
x, yвнутри ограничивающего прямоугольника, но не на его границе.
-
- fully_overlaps(other)[source]
-
Возвращает, перекрывается ли этот прямоугольник с другим прямоугольником, не включая границы.
- Parameters:
-
-
other
BboxBase
-
other
- get_points()[source]
- propertyheight
-
Высота прямоугольника (со знаком).
- staticintersection(bbox1, bbox2)[source]
-
Возвращает пересечение bbox1 и bbox2, если они пересекаются, или None, если нет.
- propertyintervalx
-
Пара x-координат, определяющих прямоугольник.
Не гарантируется, что они отсортированы слева направо.
- propertyintervaly
-
Пара y-координат, определяющих прямоугольник.
Не гарантируется, что они отсортированы снизу вверх.
- is_affine=True
- is_bbox=True
- propertymax
-
Верхний правый угол прямоугольника.
- propertymin
-
Нижний левый угол прямоугольника.
- overlaps(other)[source]
-
Возвращает, перекрывается ли этот прямоугольник с другим прямоугольником.
- Parameters:
-
-
other
BboxBase
-
other
- propertyp0
-
Первая пара координат (x, y), определяющих прямоугольник.
Не гарантируется, что это нижний левый угол (для этого используйте
min).
- propertyp1
-
Вторая пара координат (x, y), определяющих прямоугольник.
Не гарантируется, что это верхний правый угол (для этого используйте
max).
- padded(w_pad, h_pad=None)[source]
-
Создаёт
Bboxпутём добавления отступов ко всем четырём сторонам этого.- Parameters:
-
- w_padfloat
-
Ширина отступа
- h_padfloat, optional
-
Высота отступа. По умолчанию равна w_pad.
- 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 также можно задать как отношение абсолютных размеров, а не относительных.
- propertysize
-
Ширина и высота прямоугольника (со знаком).
- splitx(*args)[source]
-
Возвращает список новых объектов
Bbox, образованных путём разделения исходного объекта вертикальными линиями в дробных позициях, заданных в args.
- splity(*args)[source]
-
Возвращает список новых объектов
Bbox, образованных путём разделения исходного объекта горизонтальными линиями в дробных позициях, заданных в args.
- transformed(transform)[source]
-
Конструирует
Bboxпутём статического преобразования данного объекта с помощью transform.
- translated(tx, ty)[source]
-
Конструирует
Bboxпутём перевода данного объекта на tx и ty.
- staticunion(bboxes)[source]
-
Возвращает
Bbox, содержащий все заданные bboxes.
- propertywidth
-
Ширина области отображения (со знаком).
- propertyx0
-
Первая из пары координат x, определяющих область отображения.
Это не гарантирует, что она меньше
x1(для этого используйтеxmin).
- propertyx1
-
Вторая из пары координат x, определяющих область отображения.
Это не гарантирует, что она больше
x0(для этого используйтеxmax).
- propertyxmax
-
Правая граница области отображения.
- propertyxmin
-
Левая граница области отображения.
- propertyy0
-
Первая из пары координат y, определяющих область отображения.
Это не гарантирует, что она меньше
y1(для этого используйтеymin).
- propertyy1
-
Вторая из пары координат y, определяющих область отображения.
Это не гарантирует, что она больше
y0(для этого используйтеymax).
- propertyymax
-
Верхняя граница области отображения.
- propertyymin
-
Нижняя граница области отображения.
- classmatplotlib.transforms.BboxTransform(boxin, boxout, **kwargs)[source]
-
Bases:
Affine2DBaseПреобразование
BboxTransformлинейно преобразует точки из одной области отображенияBboxв другую.Создаёт новое преобразование
BboxTransform, которое линейно преобразует точки из boxin в boxout.- get_matrix()[source]
-
Получает матрицу для аффинной части этого преобразования.
- is_separable=True
-
True, если это преобразование разделимо по осям x и y.
- classmatplotlib.transforms.BboxTransformFrom(boxin, **kwargs)[source]
-
Bases:
Affine2DBaseПреобразует линейно точки из заданного
Bboxв единичный прямоугольник.- Parameters:
-
- shorthand_namestr
-
Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
True, если это преобразование является раздельным по осям x и y.
- classmatplotlib.transforms.BboxTransformTo(boxout, **kwargs)[source]
-
Bases:
Affine2DBaseПреобразование, которое линейно преобразует точки из единичного прямоугольника в заданный
Bbox.Создает новое преобразование
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
True, если это преобразование является раздельным по осям x и y.
- classmatplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs)[source]
-
Bases:
BboxTransformTo[Устаревшее]
BboxTransformToMaxOnly— это преобразование, которое линейно преобразует точки из единичного прямоугольника в заданныйBboxс фиксированным верхним левым углом (0, 0).Примечания
Устарело начиная с версии 3.9.
Создает новое преобразование
BboxTransformTo, которое линейно преобразует точки из единичного прямоугольника в boxout.- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- classmatplotlib.transforms.BlendedAffine2D(x_transform, y_transform, **kwargs)[source]
-
Bases:
_BlendedMixin,Affine2DBase«Смешанное» преобразование использует одно преобразование для оси x и другое для оси y.
Эта версия — оптимизация для случая, когда оба дочерних преобразования являются экземплярами типа
Affine2DBase.Создает новое «смешанное» преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
И x_transform, и y_transform должны быть аффинными преобразованиями 2D.
Обычно вы не будете вызывать этот конструктор напрямую, а вместо этого используйте функцию
blended_transform_factory, которая может автоматически определить, какой тип смешанного преобразования создать.- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- is_separable=True
-
True, если это преобразование является раздельным по осям x и y.
- classmatplotlib.transforms.BlendedGenericTransform(x_transform, y_transform, **kwargs)[source]
-
Bases:
_BlendedMixin,TransformАффинное преобразование использует одно преобразование для оси x и другое для оси y.
Этот «обобщённый» вариант может обрабатывать любые заданные дочерние преобразования в направлениях x и y.
Создаёт новое аффинное преобразование, используя x_transform для преобразования оси x и y_transform для преобразования оси y.
Обычно этот конструктор вызывать напрямую не нужно, а следует использовать функцию
blended_transform_factory, которая может автоматически определить, какой тип аффинного преобразования создать.- contains_branch(other)[source]
-
Определяет, является ли данное преобразование поддеревом этого преобразования.
Этот метод использует равенство преобразований для определения поддеревьев, поэтому во многих ситуациях используется идентификатор объекта.
В случае, когда данное преобразование представляет собой всё это преобразование, возвращает True.
- propertydepth
-
Возвращает количество преобразований, которые были объединены для создания этого экземпляра преобразования.
Примечание
В случае с композиционным преобразованием возвращается максимальная глубина из двух.
- frozen()[source]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()обычно используется.
- get_affine()[source]
-
Возвращает аффинную часть этого преобразования.
- propertyhas_inverse
-
bool(x) -> bool
Возвращает True, если аргумент x истинный, иначе False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
- input_dims=2
-
Количество входных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- inverted()[source]
-
Возвращает соответствующее обратное преобразование.
Это сохраняет
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующее обновление его инвертированной копии.
- propertyis_affine
-
bool(x) -> bool
Возвращает True, если аргумент x истинный, иначе False. Встроенные True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
- is_separable=True
-
True, если это преобразование разделимо по измерениям x и y.
- output_dims=2
-
Количество выходных измерений этого преобразования. Должно быть переопределено (целыми числами) в подклассе.
- pass_through=True
-
Если pass_through True, все предки будут всегда недействительными, даже если 'self' уже недействителен.
- transform_non_affine(values)[source]
-
Применяет только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно эквивалентно
transform(values). В аффинных преобразованиях это всегда бездействует.- Параметры:
-
- valuesмассив
-
Входные значения как массив длиной
input_dimsили формой (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения как массив длиной
output_dimsили формой (N,output_dims), в зависимости от входа.
- classmatplotlib.transforms.CompositeAffine2D(a, b, **kwargs)[source]
-
Bases:
Affine2DBaseСоставное преобразование, образованное применением преобразования a, а затем преобразования b.
Этот вариант оптимизирован для случая, когда оба a и b являются 2D-аффинными преобразованиями.
Создаёт новое составное преобразование, которое является результатом применения преобразования
Affine2DBasea, а затем преобразованияAffine2DBaseb.Обычно этот конструктор вызывать напрямую не нужно, а следует написать
a + bвместо этого, который автоматически выберет подходящий экземпляр составного преобразования.- propertydepth
-
Возвращает количество преобразований, которые были объединены для создания этого экземпляра преобразования.
Примечание
В случае с композиционным преобразованием возвращается максимальная глубина из двух.
- get_matrix()[source]
-
Возвращает матрицу аффинной части этого преобразования.
- classmatplotlib.transforms.CompositeGenericTransform(a, b, **kwargs)[source]
-
Bases:
TransformСоставной преобразователь, образованный применением преобразователя a, а затем преобразователя b.
Этот «обобщенный» вариант может обрабатывать любые два произвольных преобразования.
Создает новый составной преобразователь, который является результатом применения преобразователя a, а затем преобразователя b.
Как правило, вы не будете вызывать этот конструктор напрямую, но напишете
a + bвместо этого, что автоматически выберет лучший тип экземпляра составного преобразователя для создания.- contains_branch_seperately(other_transform)[source]
-
Возвращает, является ли заданная ветвь поддеревом этого преобразователя на каждой отдельной размерности.
Общее применение этого метода — определить, является ли преобразование смешанным преобразованием, содержащим преобразование данных осях. Например:
x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
- propertydepth
-
Возвращает количество преобразований, которые были объединены для формирования этого экземпляра преобразователя.
Примечание
В случае специального преобразователя «Composite» возвращается максимальная глубина двух.
- frozen()[source]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()обычно может быть использовано.
- get_affine()[source]
-
Получает аффинную часть этого преобразования.
- propertyhas_inverse
-
bool(x) -> bool
Возвращает True, если аргумент x истинный, в противном случае False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- inverted()[source]
-
Возвращает соответствующее обратное преобразование.
Он содержит
x == self.inverted().transform(self.transform(x)).Значение, возвращаемое этим методом, следует рассматривать как временное. Обновление self не вызывает соответствующего обновления его инвертированной копии.
- propertyis_affine
-
bool(x) -> bool
Возвращает True, если аргумент x истинный, в противном случае False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- propertyis_separable
-
bool(x) -> bool
Возвращает True, если аргумент x истинный, в противном случае False. Встроенные True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int и не может быть подклассом.
- pass_through=True
-
Если pass_through равно True, все предки всегда будут аннулированы, даже если 'self' уже аннулирован.
- transform_affine(values)[source]
-
Применяет только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).При неаффинных преобразованиях это, как правило, нет операции. При аффинных преобразованиях это эквивалентно
transform(values).- Parameters:
-
- valuesarray
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Returns:
-
- array
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_non_affine(values)[source]
-
Применяет только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).При неаффинных преобразованиях это, как правило, эквивалентно
transform(values). При аффинных преобразованиях это всегда нет операции.- Parameters:
-
- valuesarray
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Returns:
-
- array
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- classmatplotlib.transforms.IdentityTransform(*args, **kwargs)[source]
-
Bases:
Affine2DBaseОсобый класс, который выполняет тождественное преобразование (identity transform) быстро.
- Параметры:
-
- shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет никакого значения, кроме улучшения удобочитаемости
str(transform)при DEBUG=True.
- frozen()[source]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для хранения ранее известного состояния преобразования, где
copy.deepcopy()можно было бы использовать по умолчанию.
- get_affine()[source]
-
Получить аффинное (affine) преобразование этого преобразования.
- get_matrix()[source]
-
Получить матрицу для аффинной части этого преобразования.
- inverted()[source]
-
Возвращает соответствующее обратное преобразование.
Он содержит
x == self.inverted().transform(self.transform(x)).Результат этого метода следует рассматривать как временный. Обновление self не вызывает соответствующего обновления его инвертированной копии.
- transform(values)[source]
-
Применяет это преобразование к заданному массиву values.
- Параметры:
-
- valuesarray-like
-
Входные значения в виде массива длины
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива длины
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_affine(values)[source]
-
Применяет только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно не операция. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- valuesarray
-
Входные значения в виде массива длины
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива длины
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_non_affine(values)[source]
-
Применить только неаффинную часть этого преобразования.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно эквивалентно
transform(values). В аффинных преобразованиях это всегда не операция.- Параметры:
-
- valuesarray
-
Входные значения в виде массива длины
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива длины
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_path(path)[source]
-
Применить преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставлять кривые в путь, который начинался как отрезки прямых.
- classmatplotlib.transforms.LockableBbox(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[source]
-
Bases:
BboxBaseA
Bbox, где некоторые элементы могут быть заблокированы на определённых значениях.Когда дочерний прямоугольник изменяется, границы этого прямоугольника будут обновляться соответствующим образом, за исключением заблокированных элементов.
- Parameters:
-
-
bbox
Bbox -
Дочерний прямоугольник для обертывания.
- x0float или None
-
Заблокированное значение для x0, или None для разблокирования.
- y0float или None
-
Заблокированное значение для y0, или None для разблокирования.
- x1float или None
-
Заблокированное значение для x1, или None для разблокирования.
- y1float или None
-
Заблокированное значение для y1, или None для разблокирования.
-
bbox
- get_points()[source]
- propertylocked_x0
-
float или None: Значение, используемое для заблокированного x0.
- propertylocked_x1
-
float или None: Значение, используемое для заблокированного x1.
- propertylocked_y0
-
float или None: Значение, используемое для заблокированного y0.
- propertylocked_y1
-
float или None: Значение, используемое для заблокированного y1.
- classmatplotlib.transforms.ScaledTranslation(xt, yt, scale_trans, **kwargs)[source]
-
Bases:
Affine2DBaseПреобразование, которое производит сдвиг на xt и yt после того, как xt и yt были преобразованы с помощью scale_trans.
- Parameters:
-
- shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет особого значения, кроме улучшения читаемости
str(transform)при DEBUG=True.
- get_matrix()[source]
-
Получение матрицы для аффинной части этого преобразования.
- classmatplotlib.transforms.Transform(shorthand_name=None)[source]
-
Bases:
TransformNodeБазовый класс всех экземпляров
TransformNode, которые фактически выполняют преобразование.Все неаффинные преобразования должны быть подклассами этого класса. Новые аффинные преобразования должны быть подклассами
Affine2D.Подклассы этого класса должны переопределять следующие члены (как минимум):
input_dimsoutput_dimstransform()-
inverted()(если обратное преобразование существует)
Следующие атрибуты можно переопределить, если значение по умолчанию не подходит:
-
is_separable(по умолчанию True для преобразований 1D -> 1D, иначе False) -
has_inverse(по умолчанию True, если переопределёнinverted(), иначе False)
Если преобразование должно выполнять нестандартные действия с объектами
matplotlib.path.Path, например, добавлять кривые там, где раньше были отрезки прямых, оно должно переопределить:- Parameters:
-
- shorthand_namestr
-
Строка, представляющая "имя" преобразования. Имя не имеет никакого значения, кроме улучшения читабельности
str(transform)при DEBUG=True.
- __add__(other)[source]
-
Компонует два преобразования вместе так, что self выполняется перед other.
A + Bвозвращает преобразованиеCтак, чтоC.transform(x) == B.transform(A.transform(x)).
- __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)
- propertydepth
-
Возвращает количество преобразований, которые были объединены для создания этого экземпляра Transform.
Примечание
В случае специального преобразования Composite возвращается максимальная глубина из двух.
- 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.
- Parameters:
-
- valuesarray-like
-
Входные значения как массив длины
input_dimsили формы (N,input_dims).
- Returns:
-
- array
-
Выходные значения как массив длины
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_affine(values)[source]
-
Применяет только аффинную часть этого преобразования к заданному массиву значений.
transform(values)всегда эквивалентноtransform_affine(transform_non_affine(values)).В неаффинных преобразованиях это обычно является пустой операцией. В аффинных преобразованиях это эквивалентно
transform(values).- Параметры:
-
- valuesмассив
-
Вводные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращаемое значение:
-
- массив
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_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массив
-
Вводные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращаемое значение:
-
- массив
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- transform_path(path)[source]
-
Применяет преобразование к
Pathpath, возвращая новыйPath.В некоторых случаях это преобразование может вставлять кривые в путь, который изначально состоял из отрезков.
- transform_path_affine(path)[source]
-
Применяет аффинную часть этого преобразования к
Pathpath, возвращая новыйPath.transform_path(path)эквивалентноtransform_path_affine(transform_path_non_affine(values)).
- transform_path_non_affine(path)[source]
-
Применяет неаффинную часть этого преобразования к
Pathpath, возвращая новыйPath.transform_path(path)эквивалентноtransform_path_affine(transform_path_non_affine(values)).
- transform_point(point)[source]
-
Возвращает преобразованную точку.
Эта функция сохранена только для обратной совместимости; более общий метод
transformспособен преобразовывать как список точек, так и одну точку.Точка задаётся как последовательность длиной
input_dims. Преобразованная точка возвращается как последовательность длинойoutput_dims.
- классmatplotlib.transforms.TransformNode(shorthand_name=None)[source]
-
Базовый класс для всего, что участвует в дереве преобразований и должно инвалидировать своих родителей или быть инвалидировано. Это включает классы, которые на самом деле не являются преобразованиями, такие как ограничивающие прямоугольники, поскольку некоторые преобразования зависят от ограничивающих прямоугольников для вычисления своих значений.
- Параметры:
-
- shorthand_nameстрока
-
Строка, представляющая «имя» преобразования. Имя не имеет значения, кроме как для улучшения читаемости
str(transform)при DEBUG=True.
- INVALID=3
- INVALID_AFFINE=2
- INVALID_NON_AFFINE=1
- 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]
-
Базы:
TransformВспомогательный класс, содержащий одно дочернее преобразование и действующий аналогично ему.
Это полезно, если узел дерева преобразований должен быть заменен во время выполнения преобразованием другого типа. Этот класс позволяет этой замене правильно инициировать инвалидацию.
Экземпляры
TransformWrapperдолжны иметь одинаковые входные и выходные размеры в течение всего срока службы, поэтому дочернее преобразование может быть заменено только другим дочерним преобразованием с теми же размерами.child: Экземпляр
Transform. Это дочернее преобразование позже может быть заменено с помощьюset().- frozen()[source]
-
Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении ее дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где
copy.deepcopy()обычно использовался бы.
- свойствоhas_inverse
-
bool(x) -> bool
Возвращает True, если аргумент x является истинным, в противном случае False. Builtins True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
- свойствоinput_dims
- свойствоis_affine
-
bool(x) -> bool
Возвращает True, если аргумент x является истинным, в противном случае False. Builtins True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
- свойствоis_separable
-
bool(x) -> bool
Возвращает True, если аргумент x является истинным, в противном случае False. Builtins True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может быть подклассифицирован.
- свойствоoutput_dims
- pass_through=True
-
Если pass_through имеет значение True, все предки всегда будут инвалидированы, даже если «self» уже недействителен.
- set(child)[source]
-
Заменяет текущее дочернее преобразование другим.
Новый дочерний элемент должен иметь то же количество входных и выходных размеров, что и текущий дочерний элемент.
- классmatplotlib.transforms.TransformedBbox(bbox, transform, **kwargs)[source]
-
Базы:
BboxBaseA
Bboxкоторый автоматически преобразуется заданным преобразованием. При изменении дочернего прямоугольника или преобразования пределы этого прямоугольника будут обновляться соответствующим образом.- Параметры:
-
-
bbox
Bbox -
transform
Transform
-
bbox
- contains(x, y)[source]
-
Возвращает, находится ли
(x, y)внутри прямоугольника или на его границе.
- fully_contains(x, y)[source]
-
Возвращает, находится ли
x, yвнутри прямоугольника, но не на его границе.
- get_points()[source]
- классmatplotlib.transforms.TransformedPatchPath(patch)[source]
-
Базы:
TransformedPathA
TransformedPatchPathкэширует неаффинное преобразованную копиюPatch. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования или области.- Параметры:
-
-
patch
Patch
-
patch
- классmatplotlib.transforms.TransformedPath(path, transform)[source]
-
Базы:
TransformNodeA
TransformedPathкэширует неаффинное преобразованную копиюPath. Эта кэшированная копия автоматически обновляется при изменении неаффинной части преобразования.Примечание
Пути считаются неизменяемыми этим классом. Любое обновление вершин/кодов пути не вызовет повторного вычисления преобразования.
- Параметры:
-
-
path
Path -
transform
Transform
-
path
- 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]
-
Возвращает новый преобразование с добавленным смещением.
- Параметры:
-
-
trans
Transformподкласс -
Любое преобразование, к которому будет применено смещение.
-
fig
Figure, по умолчанию: None -
Текущая фигура. Может быть None, если units равны 'dots'.
- x, yfloat, по умолчанию: 0.0
-
Смещение для применения.
- units{'inches', 'points', 'dots'}, по умолчанию: 'inches'
-
Единицы смещения.
-
trans
- Возвращает:
-
-
Transformподкласс -
Преобразование со примененным смещением.
-
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/transformations.html