Spec-Zone.ru › Matplotlib 3.4

matplotlib.transforms

Inheritance diagram of matplotlib.transforms, matplotlib.path

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

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

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

../_images/transforms.png

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

full transform == non-affine part + affine part

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

класс matplotlib.transforms.Affine2D(matrix=None, **kwargs)[source]

Основы: matplotlib.transforms.Affine2DBase

Изменяемая 2D аффинная трансформация.

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

a c e
b d f
0 0 1

Если matrix равно None, инициализируется с тождественной трансформацией.

__init__(matrix=None, **kwargs)[source]

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

a c e
b d f
0 0 1

Если matrix равно None, инициализируется с тождественной трансформацией.

__module__ = 'matplotlib.transforms'
__str__()

Возвращает str(self).

clear()[source]

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

статический from_values(a, b, c, d, e, f)[source]

Создать новый объект Affine2D из заданных значений:

a c e
b d f
0 0 1

.

get_matrix()[source]

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

a c e
b d f
0 0 1

.

статический identity()[source]

Возвращает новый объект Affine2D, который является тождественным преобразованием.

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

rotate(theta)[source]

Добавить поворот (в радианах) в это преобразование на месте.

Возвращает self, поэтому этот метод можно легко комбинировать с другими вызовами rotate(), rotate_deg(), translate() и scale().

rotate_around(x, y, theta)[source]

Добавить поворот (в радианах) вокруг точки (x, y) на месте.

Возвращает self, поэтому этот метод можно легко комбинировать с другими вызовами rotate(), rotate_deg(), translate() и scale().

rotate_deg(degrees)[source]

Добавить поворот (в градусах) в это преобразование на месте.

Возвращает self, поэтому этот метод можно легко комбинировать с другими вызовами rotate(), rotate_deg(), translate() и scale().

rotate_deg_around(x, y, degrees)[source]

Добавить поворот (в градусах) вокруг точки (x, y) на месте.

Возвращает self, поэтому этот метод можно легко комбинировать с другими вызовами rotate(), rotate_deg(), translate() и scale().

scale(sx, sy=None)[source]

Добавить масштабирование на месте.

Если sy равно None, то же масштабирование применяется по обеим осям x и y.

Возвращает self, поэтому этот метод можно легко комбинировать с другими вызовами rotate(), rotate_deg(), translate() и scale().

set(other)[source]

Установить это преобразование из замороженной копии другого объекта Affine2DBase.

set_matrix(mtx)[source]

Установить базовую матрицу преобразования из 3x3 массива numpy:

a c e
b d f
0 0 1

.

END_OF_DOCUMENT_MARKER
skew(xShear, yShear)[source]

Добавить сдвиг.

xShear и yShear — углы сдвига вдоль осей x и y соответственно в радианах.

Возвращает self, что позволяет легко объединить этот метод с другими вызовами rotate(), rotate_deg(), translate() и scale().

skew_deg(xShear, yShear)[source]

Добавить сдвиг.

xShear и yShear — углы сдвига вдоль осей x и y соответственно в градусах.

Возвращает self, что позволяет легко объединить этот метод с другими вызовами rotate(), rotate_deg(), translate() и scale().

translate(tx, ty)[source]

Добавить трансляцию.

Возвращает self, что позволяет легко объединить этот метод с другими вызовами rotate(), rotate_deg(), translate() и scale().

class matplotlib.transforms.Affine2DBase(*args, **kwargs)[source]

Базовый класс всех 2D аффинных преобразований.

2D аффинные преобразования выполняются с использованием 3x3 массива NumPy:

a c e
b d f
0 0 1

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

Подклассы этого класса обычно должны только переопределять конструктор и get_matrix() для создания пользовательской 3x3 матрицы.

Параметры:
shorthand_namestr

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

__module__ = 'matplotlib.transforms'
frozen()[source]

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

has_inverse = True
input_dims = 2
inverted()[source]

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

Содержит x == self.inverted().transform(self.transform(x)).

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

property is_separable

bool(x) -> bool

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

output_dims = 2
to_values()[source]

Возвращает значения матрицы в виде кортежа NumPy.

transform_affine(points)[source]

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

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

В неаффинных преобразованиях это обычно бессмысленно. В аффинных преобразованиях это эквивалентно transform(values).

Параметры:
valuesarray

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

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

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

END_OF_DOCUMENT_MARKER ```
класс matplotlib.transforms.AffineBase(*args, **kwargs)[source]

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

Параметры:
shorthand_namestr

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

__array__(*args, **kwargs)[source]

Интерфейс массива для доступа к матрице преобразования.

__eq__(other)[source]

Возвращает self==value.

__hash__ = None
__init__(*args, **kwargs)[source]
Параметры:
shorthand_namestr

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

__module__ = 'matplotlib.transforms'
get_affine()[source]

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

is_affine = True
transform(values)[source]

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

Параметры:
valuesмассив

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

Возвращает:
массив

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

transform_affine(values)[source]

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

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

В неаффинных преобразованиях это, как правило, пустая операция. В аффинных преобразованиях это эквивалентно transform(values).

Параметры:
valuesмассив

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

Возвращает:
массив

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

transform_non_affine(points)[source]

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

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

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

Параметры:
valuesмассив

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

Возвращает:
массив

Выходные значения как массив NumPy длины input_dims или формы (N x 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)).

END_OF_DOCUMENT_MARKER
класс matplotlib.transforms.AffineDeltaTransform(transform, **kwargs)[source]

Bases: matplotlib.transforms.Affine2DBase

Обёртка преобразования для преобразования смещений между парами точек.

Этот класс предназначен для преобразования смещений ("дельта-позиций") между парами точек (например, в качестве offset_transform объектов Collection): задано преобразование t такое, что t = AffineDeltaTransform(t) + offset, AffineDeltaTransform удовлетворяет AffineDeltaTransform(a - b) == AffineDeltaTransform(a) - AffineDeltaTransform(b).

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

Этот класс экспериментальный начиная с версии 3.3, и API может измениться.

Параметры:
shorthand_namestr

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

__init__(transform, **kwargs)[source]
Параметры:
shorthand_namestr

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

__module__ = 'matplotlib.transforms'
__str__()

Возвращает str(self).

get_matrix()[source]

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

класс matplotlib.transforms.Bbox(points, **kwargs)[source]

Bases: matplotlib.transforms.BboxBase

Изменяемый прямоугольник.

Примеры

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

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

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

В качестве альтернативы, прямоугольник можно создать из плоского массива точек, так называемых "пределов" (xmin, ymin, xmax, ymax)

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

или из "границ" (xmin, ymin, width, height).

>>> Bbox.from_bounds(1, 1, 2, 6)
Bbox([[1.0, 1.0], [3.0, 7.0]])

Создание из наборов точек

Пустой объект для накопления прямоугольников — это нулевой прямоугольник, который представляет пустое множество.

>>> Bbox.null()
Bbox([[inf, inf], [-inf, -inf]])

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

>>> box = Bbox.null()
>>> box.update_from_data_xy([[1, 1]])
>>> box
Bbox([[1.0, 1.0], [1.0, 1.0]])
>>> box.update_from_data_xy([[2, 3], [3, 2]], ignore=False)
>>> box
Bbox([[1.0, 1.0], [3.0, 3.0]])

Установление ignore=True эквивалентно началу работы с нулевого прямоугольника.

>>> box.update_from_data_xy([[1, 1]], ignore=True)
>>> box
Bbox([[1.0, 1.0], [1.0, 1.0]])

Предупреждение

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

Свойства нулевого прямоугольника

Примечание

Текущее поведение Bbox.null() может быть неожиданным, так как у него не все свойства пустого множества, и, следовательно, он не ведет себя как нулевой объект в математическом смысле. Мы можем изменить это в будущем (с периодом устаревания).

Нулевой прямоугольник является тождественным элементом для пересечений

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

кроме как с самим собой, где он возвращает всё пространство.

>>> Bbox.intersection(Bbox.null(), Bbox.null())
Bbox([[-inf, -inf], [inf, inf]])

Объединение, содержащее ноль, всегда вернёт всё пространство (не другой набор!)

>>> Bbox.union([Bbox([[0, 0], [0, 0]]), Bbox.null()])
Bbox([[-inf, -inf], [inf, inf]])
Параметры:
pointsndarray

Массив numpy 2x2 вида [[x0, y0], [x1, y1]].

__format__(fmt)[source]

Форматирование объекта по умолчанию.

__init__(points, **kwargs)[source]
Параметры:
pointsndarray

Массив numpy 2x2 вида [[x0, y0], [x1, y1]].

__module__ = 'matplotlib.transforms'
__repr__()[source]

Возвращает repr(self).

__str__()[source]

Возвращает str(self).

property bounds

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

static from_bounds(x0, y0, width, height)[source]

Создаёт новый Bbox из x0, y0, width и height.

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

static from_extents(*args, minpos=None)[source]

Создаёт новый прямоугольник из left, bottom, right и top.

Ось y возрастает вверх.

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

Четыре предельных значения прямоугольника.

minposfloat или None

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

get_points()[source]

Получает точки прямоугольника непосредственно как массив numpy вида: [[x0, y0], [x1, y1]].

ignore(value)[source]

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

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

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

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

property intervaly

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

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

property minpos

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

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

property minposx

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

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

property minposy

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

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

mutated()[source]

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

END_OF_DOCUMENT_MARKER
mutatedx()[source]

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

mutatedy()[source]

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

static null()[source]

Создаёт новый нулевой прямоугольник Bbox от (беск., беск.) до (-беск., -беск.).

property p0

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

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

property p1

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

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

set(other)[source]

Устанавливает этот прямоугольник по "замороженным" границам другого прямоугольника Bbox.

set_points(points)[source]

Устанавливает точки прямоугольника непосредственно из массива numpy вида: [[x0, y0], [x1, y1]]. Проверка ошибок не выполняется, так как этот метод в основном используется внутри.

static unit()[source]

Создаёт новый единичный прямоугольник Bbox от (0, 0) до (1, 1).

update_from_data_xy(xy, ignore=None, updatex=True, updatey=True)[source]

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

Параметры:
xyndarray

Массив numpy точек 2D.

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

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

update_from_path(path, ignore=None, updatex=True, updatey=True)[source]

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

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

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

property x0

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

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

property x1

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

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

property y0

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

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

property y1

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

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

class matplotlib.transforms.BboxBase(shorthand_name=None)[source]

Основы: matplotlib.transforms.TransformNode

Базовый класс всех прямоугольных областей.

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

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

Параметры:
shorthand_namestr

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

__array__(*args, **kwargs)[source]
__module__ = 'matplotlib.transforms'
anchored(c, container=None)[source]

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

Параметры:
c(float, float) или str

Может быть:

  • Последовательностью (cx, cy), где cx и cy изменяются от 0 до 1, где 0 — слева или снизу, а 1 — справа или сверху
  • строкой: - 'C' для центрирования - 'S' для нижнего центра - 'SE' для нижнего левого угла - 'E' для левого и т.д.
containerBbox, необязательно

Прямоугольник, внутри которого размещается Bbox; по умолчанию он соответствует исходному Bbox.

свойство bounds

Возвращает (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)[source]

Возвращает, содержится ли (x, y) внутри прямоугольника или на его границе.

containsx(x)[source]

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

containsy(y)[source]

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

corners()[source]

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

Конкретно, это возвращает массив [[x0, y0], [x0, y1], [x1, y0], [x1, y1]].

count_contains(vertices)[source]

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

Параметры:
verticesNx2 Numpy массив.
count_overlaps(bboxes)[source]

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

Параметры:
bboxesпоследовательность BboxBase
expanded(sw, sh)[source]

Создаёт Bbox, расширив этот вокруг его центра на факторы sw и sh.

свойство extents

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

frozen()[source]

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

fully_contains(x, y)[source]

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

fully_containsx(x)[source]

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

fully_containsy(y)[source]

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

fully_overlaps(other)[source]

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

Параметры:
otherBboxBase
get_points()[source]
свойствоheight

Высота (со знаком) области.

статическийintersection(bbox1, bbox2)[source]

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

свойствоintervalx

Пара координат x, определяющих область.

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

свойствоintervaly

Пара координат y, определяющих область.

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

inverse_transformed(transform)[source]

[Устарело] Создаёт Bbox путём статического преобразования этой области с использованием обратного преобразования transform.

Примечания

Устарело начиная с версии 3.3.

is_affine = True
is_bbox = True
свойствоmax

Правый верхний угол области.

свойствоmin

Левый нижний угол области.

overlaps(other)[source]

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

Параметры:
otherBboxBase
свойствоp0

Первая пара координат (x, y), определяющих область.

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

свойствоp1

Вторая пара координат (x, y), определяющих область.

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

padded(p)[source]

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

rotated(radians)[source]

Возвращает выровненную по осям область, ограничивающую результат поворота этой Bbox на угол radians.

shrunk(mx, my)[source]

Возвращает копию Bbox, сжатую на коэффициент mx по оси x и my по оси y. Левый нижний угол остаётся без изменений. Обычно mx и my будут меньше 1, но это не является обязательным.

shrunk_to_aspect(box_aspect, container=None, fig_aspect=1.0)[source]

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

свойствоsize

Ширина и высота (со знаком) области.

splitx(*args)[source]

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

END_OF_DOCUMENT_MARKER
splity(*args)[source]

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

transformed(transform)[source]

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

translated(tx, ty)[source]

Создаёт Bbox путём трансляции текущего объекта на tx и ty.

static union(bboxes)[source]

Возвращает Bbox, содержащий все заданные bboxes.

property width

Ширина области, задающей прямоугольную область.

property x0

Первая из пары координат x, определяющих область.

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

property x1

Вторая из пары координат x, определяющих область.

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

property xmax

Правая граница области.

property xmin

Левая граница области.

property y0

Первая из пары координат y, определяющих область.

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

property y1

Вторая из пары координат y, определяющих область.

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

property ymax

Верхняя граница области.

property ymin

Нижняя граница области.

class matplotlib.transforms.BboxTransform(boxin, boxout, **kwargs)[source]

Bases: matplotlib.transforms.Affine2DBase

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

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

__init__(boxin, boxout, **kwargs)[source]

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

__module__ = 'matplotlib.transforms'
__str__()

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

get_matrix()[source]

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

is_separable = True
класс matplotlib.transforms.BboxTransformFrom(boxin, **kwargs)[source]

Базы: matplotlib.transforms.Affine2DBase

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

Параметры:
shorthand_namestr

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

__init__(boxin, **kwargs)[source]
Параметры:
shorthand_namestr

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

__module__ = 'matplotlib.transforms'
__str__()

Возвращает str(self).

get_matrix()[source]

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

is_separable = True
класс matplotlib.transforms.BboxTransformTo(boxout, **kwargs)[source]

Базы: matplotlib.transforms.Affine2DBase

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

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

__init__(boxout, **kwargs)[source]

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

__module__ = 'matplotlib.transforms'
__str__()

Возвращает str(self).

get_matrix()[source]

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

is_separable = True
класс matplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs)[source]

Базы: matplotlib.transforms.BboxTransformTo

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

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

__module__ = 'matplotlib.transforms'
get_matrix()[source]

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

класс matplotlib.transforms.BlendedAffine2D(x_transform, y_transform, **kwargs)[source]

Базы: matplotlib.transforms._BlendedMixin, matplotlib.transforms.Affine2DBase

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

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

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

Оба x_transform и y_transform должны быть 2D аффинные преобразования.

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

__init__(x_transform, y_transform, **kwargs)[source]

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

Оба x_transform и y_transform должны быть 2D аффинные преобразования.

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

__module__ = 'matplotlib.transforms'
get_matrix()[source]

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

is_separable = True
класс matplotlib.transforms.BlendedGenericTransform(x_transform, y_transform, **kwargs)[source]

Базовое класс: matplotlib.transforms._BlendedMixin, matplotlib.transforms.Transform

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

Этот «обобщённый» вариант может обрабатывать любые заданные дочерние преобразования по направлениям x и y.

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

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

__init__(x_transform, y_transform, **kwargs)[source]

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

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

__module__ = 'matplotlib.transforms'
contains_branch(other)[source]

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

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

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

свойство depth

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

Примечание

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

frozen()[source]

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

get_affine()[source]

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

свойство has_inverse

bool(x) -> bool

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

input_dims = 2
inverted()[source]

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

Содержит x == self.inverted().transform(self.transform(x)).

Результат выполнения этого метода должен рассматриваться как временный. Обновление self не приводит к соответствующему обновлению его инвертированной копии.

свойство is_affine

bool(x) -> bool

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

is_separable = True
output_dims = 2
pass_through = True
transform_non_affine(points)[source]

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

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

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

Параметры:
значениямассив

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

Возвращает:
массив

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

класс matplotlib.transforms.CompositeAffine2D(a, b, **kwargs)[source]

Базы: matplotlib.transforms.Affine2DBase

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

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

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

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

__init__(a, b, **kwargs)[source]

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

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

__module__ = 'matplotlib.transforms'
__str__()

Возвращает str(self).

свойство depth

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

Примечание

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

get_matrix()[source]

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

класс matplotlib.transforms.CompositeGenericTransform(a, b, **kwargs)[source]

Базовое класс: matplotlib.transforms.Transform

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

Этот «обобщённый» вариант может обрабатывать любые два произвольных преобразования.

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

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

__eq__(other)[source]

Возвращает self==value.

__hash__ = None
__init__(a, b, **kwargs)[source]

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

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

__module__ = 'matplotlib.transforms'
__str__()

Возвращает str(self).

свойство depth

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

Примечание

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

frozen()[source]

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

get_affine()[source]

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

свойство has_inverse

bool(x) -> bool

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

inverted()[source]

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

Содержит x == self.inverted().transform(self.transform(x)).

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

свойство is_affine

bool(x) -> bool

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

свойство is_separable

bool(x) -> bool

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

pass_through = True
transform_affine(points)[source]

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

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

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

Параметры:
значениямассив

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

Возвращает:
массив

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

transform_non_affine(points)[source]

Применяет только неаффинное преобразование.

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

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

Параметры:
значениямассив

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

Возвращает:
массив

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

transform_path_non_affine(path)[source]

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

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

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

Bases: matplotlib.transforms.Affine2DBase

Особый класс, который выполняет тождественное преобразование быстро.

Параметры:
shorthand_namestr

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

__module__ = 'matplotlib.transforms'
__str__()

Возвращает str(self).

frozen()[source]

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

get_affine()[source]

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

get_matrix()[source]

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

inverted()[source]

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

Содержит x == self.inverted().transform(self.transform(x)).

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

transform(points)[source]

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

Параметры:
valuesarray

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

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

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

transform_affine(points)[source]

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

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

В неаффинных преобразованиях это, как правило, пустая операция. В аффинных преобразованиях это эквивалентно transform(values).

Параметры:
valuesarray

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

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

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

transform_non_affine(points)[source]

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

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

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

Параметры:
valuesarray

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

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

Выходные значения как массив NumPy длиной input_dims или формы (N x 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)).

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

Bases: matplotlib.transforms.BboxBase

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

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

Параметры:
bboxBbox

Прямоугольник дочернего объекта для обёртки.

x0float или None

Заблокированное значение для x0 или None для разблокирования.

y0float или None

Заблокированное значение для y0 или None для разблокирования.

x1float или None

Заблокированное значение для x1 или None для разблокирования.

y1float или None

Заблокированное значение для y1 или None для разблокирования.

__init__(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs)[source]
Параметры:
bboxBbox

Прямоугольник дочернего объекта для обёртки.

x0float или None

Заблокированное значение для x0 или None для разблокирования.

y0float или None

Заблокированное значение для y0 или None для разблокирования.

x1float или None

Заблокированное значение для x1 или None для разблокирования.

y1float или None

Заблокированное значение для y1 или None для разблокирования.

__module__ = 'matplotlib.transforms'
__str__()

Возвращает str(self).

get_points()[source]
свойство locked_x0

float или None: значение, используемое для заблокированного x0.

свойство locked_x1

float или None: значение, используемое для заблокированного x1.

свойство locked_y0

float или None: значение, используемое для заблокированного y0.

свойство locked_y1

float или None: значение, используемое для заблокированного y1.

class matplotlib.transforms.ScaledTranslation(xt, yt, scale_trans, **kwargs)[source]

Bases: matplotlib.transforms.Affine2DBase

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

Параметры:
имя_короткой_записиstr

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

__init__(xt, yt, scale_trans, **kwargs)[source]
Параметры:
имя_короткой_записиstr

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

__module__ = 'matplotlib.transforms'
__str__()

Возвращает str(self).

get_matrix()[source]

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

класс matplotlib.transforms.Transform(shorthand_name=None)[source]

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

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

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

  • input_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)[source]

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

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

__array__(*args, **kwargs)[source]

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

метод класса __init_subclass__()[source]

Этот метод вызывается при создании подкласса.

Реализация по умолчанию ничего не делает. Ее можно переопределить для расширения подклассов.

__module__ = 'matplotlib.transforms'
__sub__(other)[source]

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

# In general:
A - B == A + B.inverted()
# (but see note regarding frozen transforms below).

# If A "ends with" B (i.e. A == A' + B for some A') we can cancel
# out B:
(A' + B) - B == A'

# Likewise, if B "starts with" A (B = A + B'), we can cancel out A:
A - (A + B') == B'.inverted() == B'^-1

Отмена (вместо наивного возвращения A + B.inverted()) важна по нескольким причинам:

  • Это позволяет избежать погрешностей с плавающей точкой при вычислении обратного преобразования B: B - B гарантированно будет отменен точно (в результате будет преобразование тождества), тогда как B + B.inverted() может отличаться на небольшую величину epsilon.
  • B.inverted() всегда возвращает замороженное преобразование: если вычислить A + B + B.inverted() и затем изменить B, то B.inverted() не будет обновлено, и последние два члена больше не будут отменены; с другой стороны, A + B - B всегда будет равно A, даже если B изменится.
contains_branch(other)[source]

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

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

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

contains_branch_seperately(other_transform)[source]

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

Частое использование этого метода заключается в определении, является ли преобразование смешанным преобразованием, содержащим преобразование данных осей. Например:

x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
свойство depth

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

Примечание

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

get_affine()[source]

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

get_matrix()[source]

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

has_inverse = False

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

input_dims = None

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

inverted()[source]

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

Он содержит x == self.inverted().transform(self.transform(x)).

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

is_separable = False

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

output_dims = None

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

END_OF_DOCUMENT_MARKER
transform(values)[source]

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

Параметры:
valuesмассив

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

Возвращает:
массив

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

transform_affine(values)[source]

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

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

В неаффинных преобразованиях это, как правило, нет операция. В аффинных преобразованиях это эквивалентно transform(values).

Параметры:
valuesмассив

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

Возвращает:
массив

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

transform_angles(angles, pts, radians=False, pushoff=1e-05)[source]

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

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

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

pts(N, 2) array-like

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

radiansbool, по умолчанию: False

Указывается, являются ли angles радианами или градусами.

pushofffloat

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

Возвращает:
(N,) массив
transform_bbox(bbox)[source]

Преобразуйте заданную область.

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

transform_non_affine(values)[source]

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

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

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

Параметры:
valuesмассив

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

Возвращает:
массив

Выходные значения в виде массива NumPy длиной input_dims или формы (N x 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)).

transform_point(point)[source]

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

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

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

class matplotlib.transforms.TransformNode(shorthand_name=None)[source]

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

Параметры:
shorthand_namestr

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

INVALID = 3
INVALID_AFFINE = 2
INVALID_NON_AFFINE = 1
__copy__()[source]
__deepcopy__(memo)[source]
__dict__ = mappingproxy({'__module__': 'matplotlib.transforms', '__doc__': '\n Преобразование базы для всего, что участвует в дереве преобразований\n и требует недействительности своих родителей или быть недействительным. Это включает\n классы, которые на самом деле не являются преобразованиями, такие как ограничивающие прямоугольники, так как некоторые\n преобразования зависят от ограничивающих прямоугольников для вычисления своих значений.\n ', 'INVALID_NON_AFFINE': 1, 'INVALID_AFFINE': 2, 'INVALID': 3, 'is_affine': False, 'is_bbox': False, 'pass_through': False, '__init__': <function TransformNode.__init__>, '__getstate__': <function TransformNode.__getstate__>, '__setstate__': <function TransformNode.__setstate__>, '__copy__': <function TransformNode.__copy__>, '__deepcopy__': <function TransformNode.__deepcopy__>, 'invalidate': <function TransformNode.invalidate>, '_invalidate_internal': <function TransformNode._invalidate_internal>, 'set_children': <function TransformNode.set_children>, 'frozen': <function TransformNode.frozen>, '__dict__': <attribute '__dict__' of 'TransformNode' objects>, '__weakref__': <attribute '__weakref__' of 'TransformNode' objects>, '__annotations__': {}})
__getstate__()[source]
__init__(shorthand_name=None)[source]
Параметры:
shorthand_namestr

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

__module__ = 'matplotlib.transforms'
__setstate__(data_dict)[source]
__weakref__

список слабых ссылок на объект (если определен)

frozen()[source]

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

invalidate()[source]

Отметить этот TransformNode как недействительный и инициировать недействительность его предков. Должно вызываться всякий раз, когда преобразование изменяется.

is_affine = False
is_bbox = False
pass_through = False

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

set_children(*children)[source]

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

END_OF_DOCUMENT_MARKER
класс matplotlib.transforms.TransformWrapper(child)[source]

Базы: matplotlib.transforms.Transform

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

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

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

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

__eq__(other)[source]

Возвращает self==value.

__hash__ = None
__init__(child)[source]

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

__module__ = 'matplotlib.transforms'
__str__()

Возвращает str(self).

frozen()[source]

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

свойство has_inverse

bool(x) -> bool

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

свойство is_affine

bool(x) -> bool

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

свойство is_separable

bool(x) -> bool

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

pass_through = True
set(child)[source]

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

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

класс matplotlib.transforms.TransformedBbox(bbox, transform, **kwargs)[source]

Базы: matplotlib.transforms.BboxBase

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

Параметры:
bboxBbox
transformTransform
__init__(bbox, transform, **kwargs)[source]
Параметры:
bboxBbox
transformTransform
__module__ = 'matplotlib.transforms'
__str__()

Возвращает str(self).

get_points()[source]
класс matplotlib.transforms.TransformedPatchPath(patch)[source]

Базы: matplotlib.transforms.TransformedPath

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

Параметры:
patchPatch
__init__(patch)[source]
Параметры:
patchPatch
__module__ = 'matplotlib.transforms'
класс matplotlib.transforms.TransformedPath(path, transform)[source]

Базы: matplotlib.transforms.TransformNode

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

Примечание

Объекты Path считаются неизменяемыми в этом классе. Любые изменения вершин/кодов пути не приведут к пересчету преобразования.

Параметры:
pathPath
transformTransform
__init__(path, transform)[source]
Параметры:
pathPath
transformTransform
__module__ = 'matplotlib.transforms'
get_affine()[source]
get_fully_transformed_path()[source]

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

get_transformed_path_and_affine()[source]

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

get_transformed_points_and_affine()[source]

Возвращает копию дочернего пути, с уже применённой неаффинной частью преобразования, вместе с аффинной частью пути, необходимой для завершения преобразования. В отличие от get_transformed_path_and_affine(), интерполяция не будет выполнена.

matplotlib.transforms.blended_transform_factory(x_transform, y_transform)[source]

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

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

matplotlib.transforms.composite_transform_factory(a, b)[source]

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

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

Составные преобразования также могут быть созданы с помощью оператора '+', например:

c = a + b
matplotlib.transforms.interval_contains(interval, val)[source]

Проверяет, включает ли заданный интервал данное значение (включая границы).

Параметры:
interval(float, float)

Конечные точки интервала.

valfloat

Значение, которое нужно проверить на принадлежность интервалу.

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

Принадлежит ли val интервалу interval.

matplotlib.transforms.interval_contains_open(interval, val)[source]

Проверка, исключая конечные точки, входит ли значение в заданный интервал.

Параметры:
interval(float, float)

Конечные точки интервала.

valfloat

Значение, которое проверяется на вхождение в интервал.

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

Является ли val элементом interval.

matplotlib.transforms.nonsingular(vmin, vmax, expander=0.001, tiny=1e-15, increasing=True)[source]

Изменение конечных точек диапазона при необходимости для избежания особенностей.

Параметры:
vmin, vmaxfloat

Исходные конечные точки.

expanderfloat, по умолчанию: 0.001

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

tinyfloat, по умолчанию: 1e-15

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

increasingbool, по умолчанию: True

Если True, поменять местами vmin и vmax, если vmin > vmax.

Возвращает:
vmin, vmaxfloat

Конечные точки, расширенные и/или поменянные местами, если необходимо. Если какой-либо из входных данных равен inf или NaN, или если оба входных данных равны 0 или очень близки к нулю, возвращает -expander, expander.

matplotlib.transforms.offset_copy(trans, fig=None, x=0.0, y=0.0, units='inches')[source]

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

Параметры:
transTransform подкласс

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

figFigure, по умолчанию: None

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

x, yfloat, по умолчанию: 0.0

Смещение для применения.

units{'inches', 'points', 'dots'}, по умолчанию: 'inches'

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

Возвращает:
Transform подкласс

Трансформер со примененным смещением.

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

Spec-Zone.ru

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