Spec-Zone.ru › Matplotlib

matplotlib.transforms

Диаграмма наследования matplotlib.transforms

Matplotlib включает платформу для произвольных геометрических преобразований, которая используется для определения конечного положения всех элементов, отображаемых на холсте.

Преобразования объединяются в деревья объектов TransformNode, фактическое значение которых зависит от дочерних узлов. При изменении содержимого дочерних узлов их родительские узлы автоматически помечаются как недействительные. При следующем обращении к преобразованию, помеченному как недействительное, оно пересчитывается с учётом этих изменений. Такой подход с пометкой недействительности и кэшированием предотвращает ненужные пересчёты преобразований и повышает интерактивную производительность.

Например, ниже представлена диаграмма дерева преобразований, используемого для отображения данных на рисунке:

Диаграмма дерева преобразований из координат данных в координаты рисунка.

Эту платформу можно использовать как для аффинных, так и для неаффинных преобразований. Однако для повышения скорости мы хотим по возможности использовать средства визуализации бэкенда для выполнения аффинных преобразований. Поэтому можно выполнять над набором данных только аффинную или неаффинную часть преобразования. Всегда предполагается, что аффинная часть выполняется после неаффинной. Для любого преобразования:

full transform == non-affine part + affine part

Бэкенды не должны выполнять неаффинные преобразования самостоятельно.

Примеры использования преобразований см. в руководстве Руководство по преобразованиям.

classmatplotlib.transforms.Affine2D(matrix=None, **kwargs)[исходный код]

Базовые классы: Affine2DBase

Изменяемое двумерное аффинное преобразование.

Инициализируйте аффинное преобразование из массива numpy с плавающей точкой размером 3x3:

a c e
b d f
0 0 1

Если matrix равно None, преобразование инициализируется как тождественное.

clear()[исходный код]

Сбросить базовую матрицу до тождественного преобразования.

staticfrom_values(a, b, c, d, e, f)[исходный код]

Создать новый экземпляр Affine2D из заданных значений:

a c e
b d f
0 0 1

.

get_matrix()[исходный код]

Получить базовую матрицу преобразования в виде массива 3x3:

a c e
b d f
0 0 1

.

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:

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().

classmatplotlib.transforms.Affine2DBase(*args, **kwargs)[исходный код]

Базовые классы: AffineBase

Базовый класс всех двумерных аффинных преобразований.

Двумерные аффинные преобразования выполняются с помощью массива numpy размером 3x3:

a c e
b d f
0 0 1

Этот класс предоставляет интерфейс только для чтения. Для изменяемого двумерного аффинного преобразования используйте Affine2D.

Подклассам этого класса обычно достаточно переопределить конструктор и get_matrix, формирующий пользовательскую матрицу 3x3.

Параметры:
shorthand_namestr

Строка, представляющая «имя» преобразования. Имя не имеет иного значения, кроме повышения читаемости str(transform) при DEBUG=True.

frozen()[исходный код]

Вернуть замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении дочерних узлов. Полезно для сохранения ранее известного состояния преобразования, где обычно мог бы использоваться copy.deepcopy().

has_inverse=True

True, если для этого преобразования существует обратное преобразование.

input_dims=2

Количество входных измерений этого преобразования. В подклассе это значение необходимо переопределить (целым числом).

inverted()[исходный код]

Вернуть соответствующее обратное преобразование.

Выполняется x == self.inverted().transform(self.transform(x)).

Возвращаемое этим методом значение следует считать временным. Изменение self не приводит к соответствующему обновлению его обратной копии.

propertyis_separable

Возвращает True, если аргумент имеет значение True, и False в противном случае. Встроенные значения True и False являются единственными двумя экземплярами класса bool. Класс bool является подклассом класса int, и создавать его подклассы нельзя.

output_dims=2

Количество выходных измерений этого преобразования. В подклассе это значение необходимо переопределить (целым числом).

to_values()[исходный код]

Вернуть значения матрицы в виде кортежа (a, b, c, d, e, f).

transform_affine(values)[исходный код]

Применить к заданному массиву значений только аффинную часть этого преобразования.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

Для неаффинных преобразований эта операция обычно ничего не делает. Для аффинных преобразований она эквивалентна transform(values).

Параметры:
valuesarray

Входные значения в виде массива длины input_dims или формы (N, input_dims).

Возвращает:
array

Выходные значения в виде массива длины output_dims или формы (N, output_dims) в зависимости от входных данных.

classmatplotlib.transforms.AffineBase(*args, **kwargs)[исходный код]

Базовые классы: Transform

Базовый класс всех аффинных преобразований любого числа измерений.

Параметры:
shorthand_namestr

Строка, представляющая «имя» преобразования. Это имя не имеет иного значения, кроме повышения читаемости str(transform) при DEBUG=True.

get_affine()[исходный код]

Получить аффинную часть этого преобразования.

is_affine=True
transform(values)[исходный код]

Применить это преобразование к заданному массиву values.

Параметры:
valuesarray-like

Входные значения в виде массива длины input_dims или формы (N, input_dims).

Возвращает:
array

Выходные значения в виде массива длины output_dims или формы (N, output_dims), в зависимости от входных данных.

transform_affine(values)[исходный код]

Применить только аффинную часть этого преобразования к заданному массиву значений.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

Для неаффинных преобразований это, как правило, ничего не делает. Для аффинных преобразований это эквивалентно transform(values).

Параметры:
valuesarray

Входные значения в виде массива длины input_dims или формы (N, input_dims).

Возвращает:
array

Выходные значения в виде массива длины output_dims или формы (N, output_dims), в зависимости от входных данных.

transform_non_affine(values)[исходный код]

Применить только неаффинную часть этого преобразования.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

Для неаффинных преобразований это, как правило, эквивалентно transform(values). Для аффинных преобразований это всегда ничего не делает.

Параметры:
valuesarray

Входные значения в виде массива длины input_dims или формы (N, input_dims).

Возвращает:
array

Выходные значения в виде массива длины output_dims или формы (N, output_dims), в зависимости от входных данных.

transform_path(path)[исходный код]

Применить преобразование к Path path и вернуть новый Path.

В некоторых случаях это преобразование может добавлять в путь кривые, исходно представленные отрезками прямых.

transform_path_affine(path)[исходный код]

Применить аффинную часть этого преобразования к Path path и вернуть новый Path.

transform_path(path) эквивалентно transform_path_affine(transform_path_non_affine(values)).

transform_path_non_affine(path)[исходный код]

Применить неаффинную часть этого преобразования к Path path и вернуть новый Path.

transform_path(path) эквивалентно transform_path_affine(transform_path_non_affine(values)).

classmatplotlib.transforms.AffineDeltaTransform(transform, **kwargs)[исходный код]

Базовые классы: 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.

get_matrix()[исходный код]

Получить матрицу аффинной части этого преобразования.

pass_through=True

Если pass_through равно True, все родительские элементы всегда будут признаны недействительными, даже если «self» уже недействителен.

classmatplotlib.transforms.Bbox(points, **kwargs)[исходный код]

Базовые классы: BboxBase

Изменяемая ограничивающая рамка.

Примеры

Создание по известным границам

Конструктор по умолчанию принимает граничные «точки» [[xmin, ymin], [xmax, ymax]].

>>> Bbox([[1, 1], [3, 7]])
Bbox([[1.0, 1.0], [3.0, 7.0]])

Кроме того, Bbox можно создать из массива точек, преобразованного в одномерный массив, так называемых «экстентов» (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 служит нулевая ограничивающая рамка — заменитель пустого множества.

>>> 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 по умолчанию может быть изменено в любой момент кодом, имеющим доступ к вашей Bbox, например с помощью метода 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

Массив формы (2, 2) вида [[x0, y0], [x1, y1]].

propertybounds

Возвращает (x0, y0, width, height).

staticfrom_bounds(x0, y0, width, height)[исходный код]

Создаёт новую Bbox по значениям x0, y0, width и height.

width и height могут быть отрицательными.

staticfrom_extents(*args, minpos=None)[исходный код]

Создаёт новую Bbox по значениям left, bottom, right и top.

Ось y направлена вверх.

Параметры:
left, bottom, right, topfloat

Четыре границы ограничивающей рамки.

minposfloat или None

Если это значение задано, для Bbox будет установлено минимальное положительное значение. Это полезно при работе с логарифмическими и другими шкалами, в которых отрицательные границы приводят к ошибкам округления с плавающей точкой.

frozen()[исходный код]

Базовый класс для всех объектов, участвующих в дереве преобразований и которым необходимо инвалидировать родительские объекты или подвергаться инвалидации. К ним относятся и классы, которые на самом деле не являются преобразованиями, например ограничивающие рамки, поскольку некоторые преобразования зависят от ограничивающих рамок при вычислении своих значений.

get_points()[исходный код]

Возвращает точки ограничивающей рамки в виде массива формы [[x0, y0], [x1, y1]].

ignore(value)[исходный код]

Задаёт, следует ли игнорировать существующие границы рамки при последующих вызовах update_from_data_xy().

valuebool
  • Если True, последующие вызовы update_from_data_xy будут игнорировать существующие границы Bbox.
  • Если False, последующие вызовы update_from_data_xy будут учитывать существующие границы Bbox.
propertyintervalx

Пара координат x, определяющих ограничивающую рамку.

Не гарантируется, что значения отсортированы слева направо.

propertyintervaly

Пара координат y, определяющих ограничивающую рамку.

Не гарантируется, что значения отсортированы снизу вверх.

propertyminpos

Минимальное положительное значение в обоих направлениях внутри Bbox.

Это полезно при работе с логарифмическими и другими шкалами, в которых отрицательные границы приводят к ошибкам округления с плавающей точкой; оно будет использоваться в качестве минимального экстента вместо p0.

propertyminposx

Минимальное положительное значение в направлении x внутри Bbox.

Это полезно при работе с логарифмическими и другими шкалами, в которых отрицательные границы приводят к ошибкам округления с плавающей точкой; оно будет использоваться в качестве минимального экстента x вместо x0.

propertyminposy

Минимальное положительное значение в направлении y внутри Bbox.

Это полезно при работе с логарифмическими и другими шкалами, в которых отрицательные границы приводят к ошибкам округления с плавающей точкой; оно будет использоваться в качестве минимального экстента y вместо y0.

mutated()[исходный код]

Возвращает, изменялась ли ограничивающая рамка с момента инициализации.

mutatedx()[исходный код]

Возвращает, изменились ли пределы x с момента инициализации.

mutatedy()[исходный код]

Возвращает, изменились ли пределы y с момента инициализации.

staticnull()[исходный код]

Создаёт новую нулевую Bbox от (inf, inf) до (-inf, -inf).

propertyp0

Первая пара координат (x, y), определяющих ограничивающую рамку.

Не гарантируется, что это нижний левый угол (для этого используйте min).

propertyp1

Вторая пара координат (x, y), определяющих ограничивающую рамку.

Не гарантируется, что это верхний правый угол (для этого используйте max).

set(other)[исходный код]

Задаёт эту ограничивающую рамку по «зафиксированным» границам другой Bbox.

set_points(points)[исходный код]

Задаёт точки ограничивающей рамки напрямую из массива формы [[x0, y0], [x1, y1]]. Проверка ошибок не выполняется, поскольку этот метод предназначен в основном для внутреннего использования.

staticunit()[исходный код]

Создаёт новую единичную Bbox от (0, 0) до (1, 1).

update_from_data_x(x, ignore=None)[исходный код]

Обновляет границы x объекта Bbox на основе переданных данных. После обновления ширина границ будет положительной, а x0 будет минимальным значением.

Параметры:
xndarray

Массив значений x.

ignorebool, необязательный
  • Если True, игнорировать существующие границы Bbox.
  • Если False, учитывать существующие границы Bbox.
  • Если None, использовать последнее значение, переданное в ignore().
update_from_data_xy(xy, ignore=None, updatex=True, updatey=True)[исходный код]

Обновляет границы Bbox на основе переданных координат xy.

После обновления ширина и высота границ будут положительными; x0 и y0 будут минимальными значениями.

Параметры:
xyмассивоподобный объект формы (N, 2)

Координаты (x, y).

ignorebool, необязательный
  • Если True, игнорировать существующие границы Bbox.
  • Если False, учитывать существующие границы Bbox.
  • Если None, использовать последнее значение, переданное в ignore().
updatex, updateybool, по умолчанию: True

Если True, обновить значения x/y.

update_from_data_y(y, ignore=None)[исходный код]

Обновляет границы y объекта Bbox на основе переданных данных. После обновления высота границ будет положительной, а y0 будет минимальным значением.

Параметры:
yndarray

Массив значений y.

ignorebool, необязательный
  • Если True, игнорировать существующие границы Bbox.
  • Если False, учитывать существующие границы Bbox.
  • Если None, использовать последнее значение, переданное в ignore().
update_from_path(path, ignore=None, updatex=True, updatey=True)[исходный код]

Обновляет границы Bbox так, чтобы они охватывали вершины заданного пути. После обновления ширина и высота границ будут положительными; x0 и y0 будут минимальными значениями.

Параметры:
pathPath
ignorebool, необязательный
  • Если True, игнорировать существующие границы Bbox.
  • Если False, учитывать существующие границы Bbox.
  • Если None, использовать последнее значение, переданное в ignore().
updatex, updateybool, по умолчанию: True

Если True, обновить значения x/y.

propertyx0

Первая координата x из пары, определяющей ограничивающую рамку.

Не гарантируется, что она меньше x1 (для этого используйте xmin).

propertyx1

Вторая координата x из пары, определяющей ограничивающую рамку.

Не гарантируется, что она больше x0 (для этого используйте xmax).

propertyy0

Первая координата y из пары, определяющей ограничивающую рамку.

Не гарантируется, что она меньше y1 (для этого используйте ymin).

propertyy1

Вторая координата y из пары, определяющей ограничивающую рамку.

Не гарантируется, что она больше y0 (для этого используйте ymax).

classmatplotlib.transforms.BboxBase(shorthand_name=None)[исходный код]

Базовые классы: TransformNode

Базовый класс всех ограничивающих рамок.

Этот класс неизменяемый; Bbox — изменяемый подкласс.

Каноническое представление состоит из двух точек, порядок которых не ограничен. Для удобства предоставляются свойства, позволяющие получить левую, нижнюю, правую и верхнюю границы, а также ширину и высоту, однако эти значения явно не хранятся.

Параметры:
shorthand_namestr

Строка, представляющая «имя» преобразования. Имя не имеет другого значения, кроме повышения читаемости str(transform) при DEBUG=True.

anchored(c, container)[исходный код]

Возвращает копию Bbox, привязанную к c внутри container.

Параметры:
c(float, float) or {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}

Либо пара (x, y) относительных координат (0 — слева или снизу, 1 — справа или сверху), либо 'C' (центр), либо одно из сторон света ('SW', юго-запад, — нижний левый угол и т. д.).

containerBbox

Область, внутри которой размещается Bbox.

См. также

Axes.set_anchor
propertybounds

Возвращает (x0, y0, width, height).

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) внутри ограничивающей рамки или на её границе.

containsx(x)[исходный код]

Возвращает, находится ли x в замкнутом интервале (x0, x1).

containsy(y)[исходный код]

Возвращает, находится ли y в замкнутом интервале (y0, y1).

corners()[исходный код]

Возвращает углы этого прямоугольника в виде массива точек.

В частности, возвращается массив [[x0, y0], [x0, y1], [x1, y0], [x1, y1]].

count_contains(vertices)[исходный код]

Подсчитывает количество вершин, находящихся внутри Bbox. Вершины с бесконечным или неопределённым значением x или y игнорируются.

Параметры:
vertices(N, 2) array
count_overlaps(bboxes)[исходный код]

Подсчитывает количество ограничивающих рамок, пересекающихся с этой рамкой.

Параметры:
bboxesпоследовательность объектов BboxBase
expanded(sw, sh)[исходный код]

Создаёт Bbox, расширяя эту рамку относительно её центра в sw и sh раз.

propertyextents

Возвращает (x0, y0, x1, y1).

frozen()[исходный код]

Базовый класс для объектов, участвующих в дереве преобразований и которым необходимо инвалидировать родительские объекты или быть инвалидированными. К ним относятся классы, которые на самом деле не являются преобразованиями, например ограничивающие рамки, поскольку некоторые преобразования зависят от ограничивающих рамок при вычислении своих значений.

fully_contains(x, y)[исходный код]

Возвращает, находится ли x, y внутри ограничивающей рамки, но не на её границе.

fully_containsx(x)[исходный код]

Возвращает, находится ли x в открытом интервале (x0, x1).

fully_containsy(y)[исходный код]

Возвращает, находится ли y в открытом интервале (y0, y1).

fully_overlaps(other)[исходный код]

Возвращает, пересекается ли эта ограничивающая рамка с другой, не включая границы.

Параметры:
otherBboxBase
get_points()[исходный код]
propertyheight

Знаковая высота ограничивающей рамки.

staticintersection(bbox1, bbox2)[исходный код]

Возвращает пересечение bbox1 и bbox2, если они пересекаются, или None, если нет.

propertyintervalx

Пара координат x, задающих ограничивающую рамку.

Порядок координат слева направо не гарантируется.

propertyintervaly

Пара координат y, задающих ограничивающую рамку.

Порядок координат снизу вверх не гарантируется.

is_affine=True
is_bbox=True
propertymax

Верхний правый угол ограничивающей рамки.

propertymin

Нижний левый угол ограничивающей рамки.

overlaps(other)[исходный код]

Возвращает, пересекается ли эта ограничивающая рамка с другой.

Параметры:
otherBboxBase
propertyp0

Первая пара координат (x, y), задающих ограничивающую рамку.

Не гарантируется, что это нижний левый угол (для его получения используйте min).

propertyp1

Вторая пара координат (x, y), задающих ограничивающую рамку.

Не гарантируется, что это верхний правый угол (для его получения используйте max).

padded(w_pad, h_pad=None)[исходный код]

Создаёт Bbox, добавляя отступ со всех четырёх сторон.

Параметры:
w_padfloat

Отступ по ширине

h_padfloat, optional

Отступ по высоте. По умолчанию равен w_pad.

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 также можно задать как отношение абсолютных размеров, а не относительных.

propertysize

Знаковые ширина и высота ограничивающей рамки.

splitx(*args)[исходный код]

Возвращает список новых объектов Bbox, полученных разделением исходной рамки вертикальными линиями в дробных позициях, заданных аргументами args.

splity(*args)[исходный код]

Возвращает список новых объектов Bbox, полученных разделением исходной рамки горизонтальными линиями в дробных позициях, заданных аргументами args.

transformed(transform)[исходный код]

Создаёт Bbox, статически преобразуя эту рамку с помощью transform.

translated(tx, ty)[исходный код]

Создаёт Bbox, смещая эту рамку на tx и ty.

staticunion(bboxes)[исходный код]

Возвращает 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)[исходный код]

Базовые классы: Affine2DBase

BboxTransform линейно преобразует точки из одного Bbox в другой.

Создаёт новый BboxTransform, который линейно преобразует точки из boxin в boxout.

get_matrix()[исходный код]

Возвращает матрицу аффинной части этого преобразования.

is_separable=True

True, если это преобразование разделимо по измерениям x и y.

classmatplotlib.transforms.BboxTransformFrom(boxin, **kwargs)[исходный код]

Базовые классы: Affine2DBase

BboxTransformFrom линейно преобразует точки из заданного Bbox в единичную ограничивающую рамку.

Параметры:
shorthand_namestr

Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме повышения читаемости str(transform) при DEBUG=True.

get_matrix()[исходный код]

Возвращает матрицу аффинной части этого преобразования.

is_separable=True

True, если это преобразование разделимо по измерениям x и y.

classmatplotlib.transforms.BboxTransformTo(boxout, **kwargs)[исходный код]

Базовые классы: Affine2DBase

BboxTransformTo — это преобразование, линейно переводящее точки из единичной ограничивающей рамки в заданный Bbox.

Создаёт новое BboxTransformTo, которое линейно преобразует точки из единичной ограничивающей рамки в boxout.

get_matrix()[исходный код]

Возвращает матрицу аффинной части этого преобразования.

is_separable=True

True, если это преобразование разделимо по измерениям x и y.

classmatplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs)[исходный код]

Базовые классы: BboxTransformTo

[Устарело] BboxTransformToMaxOnly — это преобразование, линейно переводящее точки из единичной ограничивающей рамки в заданный Bbox с фиксированным верхним левым углом в точке (0, 0).

Примечания

Устарело с версии 3.9.

Создаёт новое BboxTransformTo, которое линейно преобразует точки из единичной ограничивающей рамки в boxout.

get_matrix()[исходный код]

Возвращает матрицу аффинной части этого преобразования.

classmatplotlib.transforms.BlendedAffine2D(x_transform, y_transform, **kwargs)[исходный код]

Базовые классы: _BlendedMixin, Affine2DBase

«Смешанное» преобразование использует одно преобразование для направления x, а другое — для направления y.

Эта версия оптимизирована для случая, когда оба дочерних преобразования имеют тип Affine2DBase.

Создаёт новое «смешанное» преобразование, используя x_transform для преобразования оси x, а y_transform — для преобразования оси y.

И x_transform, и y_transform должны быть двумерными аффинными преобразованиями.

Обычно этот конструктор вызывают не напрямую, а используют функцию blended_transform_factory, которая автоматически определяет, какой тип смешанного преобразования создать.

get_matrix()[исходный код]

Возвращает матрицу аффинной части этого преобразования.

is_separable=True

True, если это преобразование разделимо по измерениям x и y.

classmatplotlib.transforms.BlendedGenericTransform(x_transform, y_transform, **kwargs)[исходный код]

Базовые классы: _BlendedMixin, Transform

«Смешанное» преобразование использует одно преобразование для направления x, а другое — для направления y.

Эта «универсальная» версия поддерживает любые заданные дочерние преобразования в направлениях x и y.

Создаёт новое «смешанное» преобразование, используя x_transform для преобразования оси x, а y_transform — для преобразования оси y.

Обычно этот конструктор вызывают не напрямую, а используют функцию blended_transform_factory, которая автоматически определяет, какой тип смешанного преобразования создать.

contains_branch(other)[исходный код]

Возвращает, является ли заданное преобразование поддеревом этого преобразования.

Эта процедура использует равенство преобразований для идентификации поддеревьев, поэтому во многих случаях будет использоваться идентификатор объекта.

Если заданное преобразование представляет собой всё это преобразование, возвращает True.

propertydepth

Возвращает количество преобразований, объединённых в цепочку для создания этого экземпляра Transform.

Примечание

Для особого случая Composite-преобразования возвращается максимальная глубина двух преобразований.

frozen()[исходный код]

Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении дочерних узлов. Полезно для сохранения ранее известного состояния преобразования, где обычно мог бы использоваться copy.deepcopy().

get_affine()[исходный код]

Возвращает аффинную часть этого преобразования.

propertyhas_inverse

Возвращает True, если аргумент равен True, и False в противном случае. Встроенные значения True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может иметь подклассов.

input_dims=2

Количество входных измерений этого преобразования. В подклассе значение необходимо переопределить (целыми числами).

inverted()[исходный код]

Возвращает соответствующее обратное преобразование.

Выполняется x == self.inverted().transform(self.transform(x)).

Возвращаемое этим методом значение следует считать временным. Изменение self не приводит к соответствующему обновлению его обратной копии.

propertyis_affine

Возвращает True, если аргумент равен True, и 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)[исходный код]

Применяет только неаффинную часть этого преобразования.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

Для неаффинных преобразований это, как правило, эквивалентно transform(values). Для аффинных преобразований эта операция всегда ничего не делает.

Параметры:
valuesarray

Входные значения в виде массива длиной input_dims или формы (N, input_dims).

Возвращает:
array

Выходные значения в виде массива длиной output_dims или формы (N, output_dims) в зависимости от входных данных.

classmatplotlib.transforms.CompositeAffine2D(a, b, **kwargs)[исходный код]

Базовые классы: Affine2DBase

Составное преобразование, полученное последовательным применением преобразования a, а затем преобразования b.

Эта версия оптимизирована для случая, когда и a, и b являются двумерными аффинными преобразованиями.

Создаёт новое составное преобразование, являющееся результатом последовательного применения Affine2DBase a, а затем Affine2DBase b.

Обычно этот конструктор вызывают не напрямую, а используют a + b, который автоматически выбирает наиболее подходящий тип экземпляра составного преобразования.

propertydepth

Возвращает количество преобразований, объединённых в цепочку для создания этого экземпляра Transform.

Примечание

Для особого случая Composite-преобразования возвращается максимальная глубина двух преобразований.

get_matrix()[исходный код]

Возвращает матрицу аффинной части этого преобразования.

classmatplotlib.transforms.CompositeGenericTransform(a, b, **kwargs)[source]

Базовые классы: Transform

Составное преобразование, образованное последовательным применением преобразования a, а затем преобразования b.

Эта «универсальная» версия поддерживает любые два произвольных преобразования.

Создаёт новое составное преобразование, являющееся результатом последовательного применения преобразования a, а затем преобразования b.

Обычно этот конструктор не вызывают напрямую, а вместо этого записывают a + b, чтобы автоматически выбрать оптимальный тип создаваемого экземпляра составного преобразования.

contains_branch_seperately(other_transform)[source]

Возвращает, является ли указанная ветвь поддеревом этого преобразования для каждого измерения отдельно.

Этот метод часто используют, чтобы определить, является ли преобразование смешанным преобразованием, содержащим преобразование данных Axes. Например:

x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
propertydepth

Возвращает число преобразований, объединённых в цепочку для создания этого экземпляра Transform.

Примечание

В частном случае составного преобразования возвращается максимальная глубина из двух.

frozen()[source]

Возвращает зафиксированную копию этого узла преобразования. Зафиксированная копия не будет обновляться при изменении дочерних элементов. Это полезно для сохранения ранее известного состояния преобразования, когда обычно можно было бы использовать copy.deepcopy().

get_affine()[source]

Возвращает аффинную часть этого преобразования.

propertyhas_inverse

Возвращает True, если аргумент истинен, и False в противном случае. Встроенные значения True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int, и от него нельзя создавать подклассы.

inverted()[source]

Возвращает соответствующее обратное преобразование.

Выполняется x == self.inverted().transform(self.transform(x)).

Возвращаемое этим методом значение следует считать временным. Изменение self не приводит к соответствующему обновлению его обратной копии.

propertyis_affine

Возвращает True, если аргумент истинен, и False в противном случае. Встроенные значения True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int, и от него нельзя создавать подклассы.

propertyis_separable

Возвращает True, если аргумент истинен, и 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).

Параметры:
valuesarray

Входные значения в виде массива длины input_dims или формы (N, input_dims).

Возвращает:
array

Выходные значения в виде массива длины 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).

Возвращает:
array

Выходные значения в виде массива длины output_dims или формы (N, output_dims), в зависимости от входных данных.

transform_path_non_affine(path)[source]

Применяет неаффинную часть этого преобразования к Path path и возвращает новый объект Path.

transform_path(path) эквивалентно transform_path_affine(transform_path_non_affine(values)).

classmatplotlib.transforms.IdentityTransform(*args, **kwargs)[source]

Базовые классы: Affine2DBase

Специальный класс, быстро выполняющий одну операцию — тождественное преобразование.

Параметры:
shorthand_namestr

Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме повышения удобочитаемости str(transform) при DEBUG=True.

frozen()[source]

Возвращает зафиксированную копию этого узла преобразования. Зафиксированная копия не будет обновляться при изменении дочерних элементов. Это полезно для сохранения ранее известного состояния преобразования, когда обычно можно было бы использовать copy.deepcopy().

get_affine()[source]

Возвращает аффинную часть этого преобразования.

get_matrix()[source]

Возвращает матрицу аффинной части этого преобразования.

inverted()[source]

Возвращает соответствующее обратное преобразование.

Выполняется x == self.inverted().transform(self.transform(x)).

Возвращаемое этим методом значение следует считать временным. Изменение self не приводит к соответствующему обновлению его обратной копии.

transform(values)[source]

Применяет это преобразование к заданному массиву values.

Параметры:
valuesarray-like

Входные значения в виде массива длины input_dims или формы (N, input_dims).

Возвращает:
array

Выходные значения в виде массива длины 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).

Возвращает:
array

Выходные значения в виде массива длины 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).

Возвращает:
array

Выходные значения в виде массива длины output_dims или формы (N, output_dims), в зависимости от входных данных.

transform_path(path)[source]

Применяет преобразование к Path path и возвращает новый объект Path.

В некоторых случаях это преобразование может добавлять кривые к пути, изначально состоявшему из отрезков прямых.

transform_path_affine(path)[source]

Применяет аффинную часть этого преобразования к Path path и возвращает новый объект Path.

transform_path(path) эквивалентно transform_path_affine(transform_path_non_affine(values)).

transform_path_non_affine(path)[source]

Применяет неаффинную часть этого преобразования к Path path и возвращает новый объект Path.

transform_path(path) эквивалентно transform_path_affine(transform_path_non_affine(values)).

classmatplotlib.transforms.LockableBbox(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[source]

Базовые классы: BboxBase

Bbox, некоторые элементы которого могут быть зафиксированы на заданных значениях.

При изменении дочерней ограничивающей рамки границы этой рамки обновляются соответствующим образом, за исключением зафиксированных элементов.

Параметры:
bboxBbox

Дочерняя ограничивающая рамка, которую нужно обернуть.

x0float or None

Зафиксированное значение x0 или None, чтобы оставить его незаданным.

y0float or None

Зафиксированное значение y0 или None, чтобы оставить его незаданным.

x1float or None

Зафиксированное значение x1 или None, чтобы оставить его незаданным.

y1float or None

Зафиксированное значение y1 или None, чтобы оставить его незаданным.

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]

Базовые классы: Affine2DBase

Преобразование, выполняющее перенос на xt и yt после преобразования xt и yt с помощью scale_trans.

Параметры:
shorthand_namestr

Строка, представляющая «имя» преобразования. Имя не имеет никакого значения, кроме повышения удобочитаемости str(transform) при DEBUG=True.

get_matrix()[source]

Возвращает матрицу аффинной части этого преобразования.

classmatplotlib.transforms.Transform(shorthand_name=None)[источник]

Базовые классы: TransformNode

Базовый класс всех экземпляров TransformNode, которые непосредственно выполняют преобразование.

Все неаффинные преобразования должны быть подклассами этого класса. Новые аффинные преобразования должны быть подклассами Affine2D.

Подклассы этого класса должны переопределять следующие элементы (как минимум):

  • input_dims
  • output_dims
  • transform()
  • inverted() (если существует обратное преобразование)

Если значения по умолчанию не подходят, можно переопределить следующие атрибуты:

  • is_separable (по умолчанию True для преобразований 1D -> 1D, в противном случае False)
  • has_inverse (по умолчанию True, если переопределён inverted(), в противном случае False)

Если преобразованию требуется нестандартным образом обрабатывать объекты matplotlib.path.Path, например добавлять кривые там, где раньше были отрезки, оно должно переопределить:

  • transform_path()
Параметры:
shorthand_namestr

Строка, представляющая «имя» преобразования. Имя не имеет иного значения, кроме повышения читаемости str(transform) при DEBUG=True.

__add__(other)[источник]

Объединить два преобразования так, чтобы после self выполнялось other.

A + B возвращает преобразование C, для которого C.transform(x) == B.transform(A.transform(x)).

__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() может отличаться на небольшое значение эпсилон.
  • B.inverted() всегда возвращает зафиксированное преобразование: если вычислить A + B + B.inverted(), а затем изменить B, то B.inverted() не обновится и последние два члена больше не сократятся; с другой стороны, A + B - B всегда будет равно A, даже если B изменено.
contains_branch(other)[источник]

Возвращает, является ли заданное преобразование поддеревом этого преобразования.

Эта процедура использует равенство преобразований для идентификации поддеревьев, поэтому во многих ситуациях будет использоваться идентификатор объекта.

Если заданное преобразование представляет собой всё это преобразование, возвращает True.

contains_branch_seperately(other_transform)[источник]

Возвращает, является ли заданная ветвь поддеревом этого преобразования для каждого отдельного измерения.

Этот метод часто используют, чтобы определить, является ли преобразование смешанным преобразованием, содержащим преобразование данных Axes. Например:

x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
propertydepth

Возвращает число преобразований, объединённых в цепочку для создания этого экземпляра Transform.

Примечание

В особом случае составного преобразования возвращается максимальная глубина двух преобразований.

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.

Параметры:
valuesarray-like

Входные значения в виде массива длины input_dims или формы (N, input_dims).

Возвращает:
array

Выходные значения в виде массива длины output_dims или формы (N, output_dims) в зависимости от входных данных.

transform_affine(values)[источник]

Применяет к заданному массиву значений только аффинную часть этого преобразования.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

Для неаффинных преобразований это, как правило, ничего не делает. Для аффинных преобразований это эквивалентно transform(values).

Параметры:
valuesarray

Входные значения в виде массива длины input_dims или формы (N, input_dims).

Возвращает:
array

Выходные значения в виде массива длины output_dims или формы (N, output_dims) в зависимости от входных данных.

transform_angles(angles, pts, radians=False, pushoff=1e-05)[источник]

Преобразует набор углов, закреплённых в заданных точках.

Параметры:
angles(N,) array-like

Углы для преобразования.

pts(N, 2) array-like

Точки, в которых закреплены углы.

radiansbool, default: False

Заданы ли angles в радианах или градусах.

pushofffloat

Для каждой точки в pts и угла в angles преобразованный угол вычисляется путём преобразования отрезка длины pushoff, начинающегося в этой точке и образующего этот угол с горизонтальной осью, а затем измерения угла между горизонтальной осью и преобразованным отрезком.

Возвращает:
(N,) array
transform_bbox(bbox)[источник]

Преобразует заданную ограничивающую рамку.

Для более интеллектуальных преобразований, в том числе с кэшированием (что часто требуется в Matplotlib), см. TransformedBbox.

transform_non_affine(values)[источник]

Применяет только неаффинную часть этого преобразования.

transform(values) всегда эквивалентно transform_affine(transform_non_affine(values)).

Для неаффинных преобразований это, как правило, эквивалентно transform(values). Для аффинных преобразований это всегда ничего не делает.

Параметры:
valuesarray

Входные значения в виде массива длины input_dims или формы (N, input_dims).

Возвращает:
array

Выходные значения в виде массива длины output_dims или формы (N, output_dims) в зависимости от входных данных.

transform_path(path)[источник]

Применяет преобразование к Path path и возвращает новый Path.

В некоторых случаях это преобразование может добавлять в путь кривые, изначально представлявшие собой отрезки.

transform_path_affine(path)[источник]

Применяет аффинную часть этого преобразования к Path path и возвращает новый Path.

transform_path(path) эквивалентно transform_path_affine(transform_path_non_affine(values)).

transform_path_non_affine(path)[источник]

Применяет неаффинную часть этого преобразования к Path path и возвращает новый Path.

transform_path(path) эквивалентно transform_path_affine(transform_path_non_affine(values)).

transform_point(point)[источник]

Возвращает преобразованную точку.

Эта функция сохранена только для обратной совместимости; более универсальный метод transform позволяет преобразовывать как список точек, так и одну точку.

Точка задаётся последовательностью длины input_dims. Преобразованная точка возвращается в виде последовательности длины output_dims.

classmatplotlib.transforms.TransformNode(shorthand_name=None)[источник]

Базовые классы: object

Базовый класс для всего, что входит в дерево преобразований и должно инвалидировать родительские узлы или подвергаться инвалидации. Сюда входят классы, которые сами по себе не являются преобразованиями, например ограничивающие рамки, поскольку некоторые преобразования используют ограничивающие рамки для вычисления своих значений.

Параметры:
shorthand_namestr

Строка, представляющая «имя» преобразования. Имя не имеет иного значения, кроме повышения читаемости str(transform) при DEBUG=True.

frozen()[источник]

Возвращает зафиксированную копию этого узла преобразования. Зафиксированная копия не будет обновляться при изменении её дочерних узлов. Полезно для сохранения ранее известного состояния преобразования, когда обычно можно было бы использовать copy.deepcopy().

invalidate()[источник]

Инвалидирует этот TransformNode и инициирует инвалидацию его предков. Следует вызывать каждый раз при изменении преобразования.

is_affine=False
is_bbox=False
pass_through=False

Если pass_through равно True, все предки будут всегда инвалидироваться, даже если 'self' уже недействителен.

set_children(*children)[источник]

Задаёт дочерние узлы преобразования, чтобы система инвалидации знала, какие преобразования могут инвалидировать этот узел. Следует вызывать из конструктора любых преобразований, зависящих от других преобразований.

classmatplotlib.transforms.TransformWrapper(child)[исходный код]

Базовые классы: Transform

Вспомогательный класс, который содержит единственное дочернее преобразование и действует так же, как оно.

Этот класс полезен, если узел дерева преобразований необходимо заменить во время выполнения преобразованием другого типа. Он позволяет корректно инициировать инвалидацию при такой замене.

Экземпляры TransformWrapper должны иметь одинаковые размерности входных и выходных данных на протяжении всего срока существования, поэтому дочернее преобразование можно заменять только другим дочерним преобразованием с такими же размерностями.

child: экземпляр Transform. Это дочернее преобразование впоследствии можно заменить с помощью set().

frozen()[исходный код]

Возвращает неизменяемую копию этого узла преобразования. Эта копия не будет обновляться при изменении дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где обычно может использоваться copy.deepcopy().

propertyhas_inverse

Возвращает True, если аргумент имеет значение True, и False в противном случае. Встроенные значения True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может иметь подклассов.

propertyinput_dims

Тип единственного экземпляра None.

propertyis_affine

Возвращает True, если аргумент имеет значение True, и False в противном случае. Встроенные значения True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может иметь подклассов.

propertyis_separable

Возвращает True, если аргумент имеет значение True, и False в противном случае. Встроенные значения True и False — единственные два экземпляра класса bool. Класс bool является подклассом класса int и не может иметь подклассов.

propertyoutput_dims

Тип единственного экземпляра None.

pass_through=True

Если pass_through имеет значение True, все предки всегда будут инвалидированы, даже если «self» уже недействителен.

set(child)[исходный код]

Заменяет текущее дочернее преобразование этого преобразования другим.

Новое дочернее преобразование должно иметь такое же количество входных и выходных размерностей, как и текущее.

classmatplotlib.transforms.TransformedBbox(bbox, transform, **kwargs)[исходный код]

Базовые классы: BboxBase

Bbox, автоматически преобразуемый заданным преобразованием. При изменении дочерней ограничивающей рамки или преобразования границы этой рамки обновляются соответствующим образом.

Параметры:
bboxBbox
transformTransform
contains(x, y)[исходный код]

Возвращает, находится ли (x, y) внутри ограничивающей рамки или на её границе.

fully_contains(x, y)[исходный код]

Возвращает, находится ли x, y внутри ограничивающей рамки, но не на её границе.

get_points()[исходный код]
classmatplotlib.transforms.TransformedPatchPath(patch)[исходный код]

Базовые классы: TransformedPath

TransformedPatchPath кэширует копию Patch, преобразованную нелинейной частью преобразования. Эта кэшированная копия автоматически обновляется при изменении нелинейной части преобразования или заплатки.

Параметры:
patchPatch
classmatplotlib.transforms.TransformedPath(path, transform)[исходный код]

Базовые классы: TransformNode

TransformedPath кэширует копию Path, преобразованную нелинейной частью преобразования. Эта кэшированная копия автоматически обновляется при изменении нелинейной части преобразования.

Примечание

Этот класс считает пути неизменяемыми. Любое обновление вершин или кодов пути не приведёт к пересчёту преобразования.

Параметры:
pathPath
transformTransform
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, default: 0.001

Доля, на которую расширяются vmin и vmax, если исходный интервал слишком мал относительно tiny.

tinyfloat, default: 1e-15

Пороговое значение для отношения длины интервала к максимальному абсолютному значению его концов. Если интервал меньше этого значения, он будет расширен. Это значение должно быть около 1e-15 или больше; в противном случае интервал будет приближаться к пределу разрешения чисел двойной точности.

increasingbool, default: 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')[исходный код]

Возвращает новое преобразование с добавленным смещением.

Параметры:
transTransform subclass

Любое преобразование, к которому будет применено смещение.

figFigure, default: None

Текущая фигура. Может иметь значение None, если units равно 'dots'.

x, yfloat, default: 0.0

Применяемое смещение.

units{'inches', 'points', 'dots'}, default: 'inches'

Единицы измерения смещения.

Возвращает:
Transform subclass

Преобразование с применённым смещением.

© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/transformations.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API