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