Spec-Zone.ru › Matplotlib 3.3

matplotlib.transforms

Inheritance diagram of matplotlib.transforms, matplotlib.path

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

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

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

../_images/transforms.png

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

full transform == non-affine part + affine part

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

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

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

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

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

a c e
b d f
0 0 1

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

__init__(self, matrix=None, **kwargs) [исходный код]

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

a c e
b d f
0 0 1

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

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

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

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

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

a c e
b d f
0 0 1

.

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

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

a c e
b d f
0 0 1

.

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

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

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

rotate(self, theta) [исходный код]

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

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

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

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

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

rotate_deg(self, degrees) [исходный код]

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

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

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

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

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

scale(self, sx, sy=None) [исходный код]

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

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

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

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

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

set_matrix(self, mtx) [исходный код]

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

a c e
b d f
0 0 1

.

skew(self, xShear, yShear) [исходный код]

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

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

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

skew_deg(self, xShear, yShear) [исходный код]

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

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

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

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

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

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

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

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

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

a c e
b d f
0 0 1

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

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

Параметры:
shorthand_namestr

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

__module__ = 'matplotlib.transforms'
frozen(self) [исходный код]

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

has_inverse = True
input_dims = 2
inverted(self) [исходный код]

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

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

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

property is_separable

bool(x) -> bool

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

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

[Устаревшее] Создаёт новую матрицу преобразования в виде 3x3 массива NumPy следующего вида:

a c e
b d f
0 0 1

Примечания

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

output_dims = 2
to_values(self) [исходный код]

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

transform_affine(self, points) [исходный код]

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

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
class matplotlib.transforms.AffineBase(*args, **kwargs) [исходный код]

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

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

Параметры:
shorthand_namestr

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

__array__(self, *args, **kwargs) [исходный код]

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

__eq__(self, other) [исходный код]

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

__hash__ = None
__init__(self, *args, **kwargs) [исходный код]
Параметры:
shorthand_namestr

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

__module__ = 'matplotlib.transforms'
get_affine(self) [исходный код]

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

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

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

Параметры:
valuesarray

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

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

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

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

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

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

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

Параметры:
valuesarray

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

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

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

transform_non_affine(self, points) [исходный код]

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

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

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

Параметры:
valuesarray

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

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

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

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

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

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

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

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

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

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

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

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

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

Базовый класс: matplotlib.transforms.Affine2DBase

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

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

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

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

Параметры:
shorthand_namestr

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

__init__(self, transform, **kwargs) [исходный код]
Параметры:
shorthand_namestr

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

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

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

class 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__(self, fmt) [исходный код]

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

__init__(self, points, **kwargs) [исходный код]
Параметры:
pointsndarray

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

__module__ = 'matplotlib.transforms'
__repr__(self) [исходный код]

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

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

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

property bounds

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

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

Создает новый Bbox из x0, y0, ширины и высоты.

ширина и высота могут быть отрицательными.

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

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

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

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

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

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

Установить, следует ли игнорировать существующие границы прямоугольника последующими вызовами 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
property minposx
property minposy
mutated(self) [исходный код]

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

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

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

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

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

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

Создаёт новый нулевой Bbox от (бесконечность, бесконечность) до (-бесконечность, -бесконечность).

property p0

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

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

property p1

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

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

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

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

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

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

END_OF_DOCUMENT_MARKER
static unit() [исходный код]

Создать новый единичный Bbox от (0, 0) до (1, 1).

update_from_data_xy(self, xy, ignore=None, updatex=True, updatey=True) [исходный код]

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

Параметры:
xyndarray

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

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

Когда True, обновить значения x/y.

update_from_path(self, path, ignore=None, updatex=True, updatey=True) [исходный код]

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

Параметры:
pathPath
ignorebool, optional
  • когда True, игнорировать существующие границы Bbox.
  • когда False, включить существующие границы Bbox.
  • когда None, использовать последнее значение, переданное в ignore().
updatex, updateybool, default: 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) [исходный код]

Основания: matplotlib.transforms.TransformNode

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

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

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

Параметры:
shorthand_namestr

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

__array__(self, *args, **kwargs) [исходный код]
__module__ = 'matplotlib.transforms'
anchored(self, c, container=None) [исходный код]

Возвращает копию Bbox, смещенную в положение c в контейнере container.

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

Может быть либо:

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

Прямоугольник, внутри которого позиционируется Bbox; по умолчанию — начальный Bbox.

property 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(self, x, y) [исходный код]

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

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

Возвращает, содержится ли x в отрезке [x0, x1].

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

Возвращает, содержится ли y в отрезке [y0, y1].

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

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

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

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

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

Параметры:
verticesNx2 Numpy array.
count_overlaps(self, bboxes) [исходный код]

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

Параметры:
bboxessequence of BboxBase
expanded(self, sw, sh) [исходный код]

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

property extents

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

property intervalx

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

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

property intervaly

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

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

inverse_transformed(self, transform) [исходный код]

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

Примечания

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

is_affine = True
is_bbox = True
is_unit(self) [исходный код]

[Устарело] Возвращает, является ли эта область отображения единичной (от (0, 0) до (1, 1)).

Примечания

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

property max

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

property min

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

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

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

Параметры:
otherBboxBase
property p0

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

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

property p1

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

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

padded(self, p) [исходный код]

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

rotated(self, radians) [исходный код]

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

shrunk(self, mx, my) [исходный код]

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

shrunk_to_aspect(self, box_aspect, container=None, fig_aspect=1.0) [исходный код]

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

property size

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

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

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

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

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

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

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

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

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

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

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

Основания: matplotlib.transforms.Affine2DBase

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

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

__init__(self, boxin, boxout, **kwargs) [исходный код]

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

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

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

is_separable = True
class matplotlib.transforms.BboxTransformFrom(boxin, **kwargs) [исходный код]

Основания: matplotlib.transforms.Affine2DBase

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

Параметры:
shorthand_namestr

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

__init__(self, boxin, **kwargs) [исходный код]
Параметры:
shorthand_namestr

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

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

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

is_separable = True
class matplotlib.transforms.BboxTransformTo(boxout, **kwargs) [источник]

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

BboxTransformTo — преобразование, которое линейно преобразует точки из единичной области обрезки в заданную Bbox.

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

__init__(self, boxout, **kwargs) [источник]

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

get_matrix(self) [источник]

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

is_separable = True
class matplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs) [источник]

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

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

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

__module__ = 'matplotlib.transforms'
get_matrix(self) [источник]

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

class matplotlib.transforms.BlendedAffine2D(x_transform, y_transform, **kwargs) [источник]

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

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

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

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

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

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

__init__(self, x_transform, y_transform, **kwargs) [источник]

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

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

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

__module__ = 'matplotlib.transforms'
get_matrix(self) [источник]

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

is_separable = True
class matplotlib.transforms.BlendedGenericTransform(x_transform, y_transform, **kwargs) [источник]

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

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

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

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

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

__init__(self, x_transform, y_transform, **kwargs) [источник]

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

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

__module__ = 'matplotlib.transforms'
contains_branch(self, other) [источник]

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

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

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

property depth

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

Примечание

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

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

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

get_affine(self) [источник]

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

property has_inverse

bool(x) -> bool

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

input_dims = 2
inverted(self) [источник]

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

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

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

property is_affine

bool(x) -> bool

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

is_separable = True
output_dims = 2
pass_through = True
transform_non_affine(self, points) [источник]

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

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

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

Параметры:
valuesarray

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

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

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

END_OF_DOCUMENT_MARKER
class matplotlib.transforms.CompositeAffine2D(a, b, **kwargs) [источник]

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

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

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

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

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

__init__(self, a, b, **kwargs) [источник]

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

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

property depth

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

Примечание

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

get_matrix(self) [источник]

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

class matplotlib.transforms.CompositeGenericTransform(a, b, **kwargs) [источник]

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

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

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

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

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

__eq__(self, other) [источник]

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

__hash__ = None
__init__(self, a, b, **kwargs) [источник]

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

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

property depth

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

Примечание

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

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

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

get_affine(self) [источник]

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

property has_inverse

bool(x) -> bool

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

inverted(self) [источник]

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

Оно хранит x == self.inverted().transform(self.transform(x)).

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

property is_affine

bool(x) -> bool

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

property is_separable

bool(x) -> bool

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

pass_through = True
transform_affine(self, points) [источник]

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

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

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

Параметры:
valuesarray

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

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

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

transform_non_affine(self, points) [источник]

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

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

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

Параметры:
valuesarray

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

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

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

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

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

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

class matplotlib.transforms.IdentityTransform(*args, **kwargs) [источник]

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

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

Параметры:
shorthand_namestr

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

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

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

get_affine(self) [источник]

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

get_matrix(self) [источник]

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

inverted(self) [источник]

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

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

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

transform(self, points) [источник]

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

Параметры:
valuesarray

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

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

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

transform_affine(self, points) [источник]

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

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

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

Параметры:
valuesarray

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

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

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

transform_non_affine(self, points) [источник]

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

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

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

Параметры:
valuesarray

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

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

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

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

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

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

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

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

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

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

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

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

class matplotlib.transforms.LockableBbox(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs) [источник]

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

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

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

Параметры:
bboxBbox

Обёртка для дочерней области.

x0float or None

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

y0float or None

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

x1float or None

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

y1float or None

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

__init__(self, bbox, x0=None, y0=None, x1=None, y1=None, **kwargs) [источник]
Параметры:
bboxBbox

Обёртка для дочерней области.

x0float or None

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

y0float or None

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

x1float or None

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

y1float or None

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

get_points(self) [источник]
property locked_x0

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

property locked_x1

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

property locked_y0

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

property locked_y1

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

class matplotlib.transforms.ScaledTranslation(xt, yt, scale_trans, **kwargs) [источник]

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

Преобразование, которое производит сдвиг на xt и yt после того, как xt и yt были преобразованы scale_trans.

Параметры:
shorthand_namestr

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

__init__(self, xt, yt, scale_trans, **kwargs) [источник]
Параметры:
shorthand_namestr

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

get_matrix(self) [источник]

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

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

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

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

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

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

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

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

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

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

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

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

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

Компонует два преобразования таким образом, что self выполняется перед other.

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

__array__(self, *args, **kwargs) [источник]

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

classmethod __init_subclass__() [источник]

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

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

__module__ = 'matplotlib.transforms'
__sub__(self, other) [источник]

Компонует self с обратным преобразованием other, отменяя одинаковые члены, если они есть:

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

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

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

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

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

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

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

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

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

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

Общее применение этого метода — идентифицировать, является ли преобразование комбинированным преобразованием, содержащим преобразование данных осей. Например:

x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
property depth

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

Примечание

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

get_affine(self) [источник]

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

get_matrix(self) [источник]

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

has_inverse = False

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

input_dims = None

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

inverted(self) [источник]

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

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

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

is_separable = False

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

output_dims = None

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

transform(self, values) [источник]

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

Параметры:
valuesarray

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

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

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

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

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

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

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

Параметры:
valuesarray

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

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

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

transform_angles(self, angles, pts, radians=False, pushoff=1e-05) [исходный код]

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

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

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

pts(N, 2) array-like

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

radiansbool, default: False

Являются ли angles радианами или градусами.

pushofffloat

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

Возвращает:
(N,) массив
transform_bbox(self, bbox) [исходный код]

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

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

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

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

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

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

Параметры:
valuesarray

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

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

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

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

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

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

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

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

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

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

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

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

transform_point(self, point) [исходный код]

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

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

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

class matplotlib.transforms.TransformNode(shorthand_name=None) [исходный код]

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

Параметры:
shorthand_namestr

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

INVALID = 3
INVALID_AFFINE = 2
INVALID_NON_AFFINE = 1
__copy__(self, *args) [исходный код]
__deepcopy__(self, *args)
__dict__ = mappingproxy({'__module__': 'matplotlib.transforms', '__doc__': '\n The base class for anything that participates in the transform tree\n and needs to invalidate its parents or be invalidated. This includes\n classes that are not really transforms, such as bounding boxes, since some\n transforms depend on bounding boxes to compute their values.\n ', '_gid': 0, '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.__copy__>, '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>})
__getstate__(self) [исходный код]
__init__(self, shorthand_name=None) [исходный код]
Параметры:
shorthand_namestr

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

__module__ = 'matplotlib.transforms'
__setstate__(self, data_dict) [исходный код]
__weakref__

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

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

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

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

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

is_affine = False
is_bbox = False
pass_through = False

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

set_children(self, *children) [исходный код]

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

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

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

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

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

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

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

__eq__(self, other) [исходный код]

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

__hash__ = None
__init__(self, child) [исходный код]

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

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

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

property has_inverse

bool(x) -> bool

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

property is_affine

bool(x) -> bool

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

property is_separable

bool(x) -> bool

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

pass_through = True
set(self, child) [исходный код]

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

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

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

Базовый класс: matplotlib.transforms.BboxBase

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

Параметры:
bboxBbox
transformTransform
__init__(self, bbox, transform, **kwargs) [исходный код]
Параметры:
bboxBbox
transformTransform
__module__ = 'matplotlib.transforms'
__str__(self)

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

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

Базовый класс: matplotlib.transforms.TransformedPath

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

Параметры:
patchPatch
__init__(self, patch) [исходный код]
Параметры:
patchPatch
__module__ = 'matplotlib.transforms'
class matplotlib.transforms.TransformedPath(path, transform) [исходный код]

Базовый класс: matplotlib.transforms.TransformNode

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

Примечание

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

Параметры:
pathPath
transformTransform
__init__(self, path, transform) [исходный код]
Параметры:
pathPath
transformTransform
__module__ = 'matplotlib.transforms'
get_affine(self) [исходный код]
get_fully_transformed_path(self) [исходный код]

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

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

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

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

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

END_OF_DOCUMENT_MARKER
matplotlib.transforms.nonsingular(vmin, vmax, expander=0.001, tiny=1e-15, increasing=True) [исходный код]

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

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

Начальные конечные точки.

expanderfloat, default: 0.001

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

tinyfloat, default: 1e-15

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

increasingbool, default: True

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

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

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

matplotlib.transforms.offset_copy(trans, fig=None, x=0.0, y=0.0, units='inches') [исходный код]

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

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

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

figFigure, default: None

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

x, yfloat, default: 0.0

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

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

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

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

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

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

Spec-Zone.ru

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