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

Bases: matplotlib.transforms.Affine2DBase

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

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

a c e
b d f
0 0 1

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

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

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

a c e
b d f
0 0 1

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

clear(self) [source]

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

static from_values(a, b, c, d, e, f) [source]

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

a c e
b d f
0 0 1

.

get_matrix(self) [source]

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

a c e
b d f
0 0 1

.

static identity() [source]

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

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

rotate(self, theta) [source]

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

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

rotate_around(self, x, y, theta) [source]

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

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

rotate_deg(self, degrees) [source]

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

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

rotate_deg_around(self, x, y, degrees) [source]

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

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

scale(self, sx, sy=None) [source]

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

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

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

set(self, other) [source]

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

set_matrix(self, mtx) [source]

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

a c e
b d f
0 0 1

.

skew(self, xShear, yShear) [source]

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

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

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

skew_deg(self, xShear, yShear) [source]

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

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

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

END_OF_DOCUMENT_MARKER
translate(self, 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(self) [source]

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

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

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

Содержит 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) [source]

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

a c e
b d f
0 0 1

Примечания

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

output_dims = 2
to_values(self) [source]

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

transform_affine(self, 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 ```
class matplotlib.transforms.AffineBase(*args, **kwargs) [source]

Bases: matplotlib.transforms.Transform

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

Параметры:
shorthand_namestr

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

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

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

__eq__(self, other) [source]

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

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

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

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

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

is_affine = True
transform(self, values) [source]

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

Параметры:
valuesarray

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

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

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

transform_affine(self, values) [source]

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

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

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

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

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

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

transform_path_affine(self, path) [source]

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

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

transform_path_non_affine(self, path) [source]

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

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

END_OF_DOCUMENT_MARKER
class 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__(self, transform, **kwargs) [source]
Параметры:
shorthand_namestr

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

get_matrix(self) [source]

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

class 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__(self, fmt) [source]

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

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

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

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

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

__str__(self) [source]

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

property bounds

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

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

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

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

static from_extents(*args) [source]

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

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

get_points(self) [source]

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

ignore(self, 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
property minposx
property minposy
mutated(self) [source]

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

mutatedx(self) [source]

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

mutatedy(self) [source]

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

static null() [source]

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

property p0

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

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

property p1

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

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

set(self, other) [source]

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

set_points(self, points) [source]

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

END_OF_DOCUMENT_MARKER ```
static unit() [source]

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

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

Обновить границы 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) [source]

Обновить границы 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) [source]

Bases: matplotlib.transforms.TransformNode

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

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

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

Параметры:
shorthand_namestr

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

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

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

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

containsx(self, x) [source]

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

containsy(self, y) [source]

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

corners(self) [source]

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

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

count_contains(self, vertices) [source]

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

Параметры:
verticesNx2 Numpy array.
count_overlaps(self, bboxes) [source]

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

Параметры:
bboxessequence of BboxBase
expanded(self, sw, sh) [source]

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

property extents

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

frozen(self) [source]

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

fully_contains(self, x, y) [source]

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

fully_containsx(self, x) [source]

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

fully_containsy(self, y) [source]

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

fully_overlaps(self, other) [source]

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

Параметры:
otherBboxBase
get_points(self) [source]
property height

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

static intersection(bbox1, bbox2) [source]

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

property intervalx

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

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

property intervaly

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

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

inverse_transformed(self, transform) [source]

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

Примечания

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

is_affine = True
is_bbox = True
is_unit(self) [source]

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

Примечания

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

property max

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

property min

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

overlaps(self, other) [source]

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

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

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

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

property p1

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

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

padded(self, p) [source]

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

rotated(self, radians) [source]

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

shrunk(self, mx, my) [source]

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

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

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

property size

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

splitx(self, *args) [source]

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

splity(self, *args) [source]

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

transformed(self, transform) [source]

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

translated(self, 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__(self, boxin, boxout, **kwargs) [source]

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

get_matrix(self) [source]

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

is_separable = True
class matplotlib.transforms.BboxTransformFrom(boxin, **kwargs) [source]

Bases: matplotlib.transforms.Affine2DBase

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

Параметры:
shorthand_namestr

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

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

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

get_matrix(self) [source]

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

is_separable = True
class matplotlib.transforms.BboxTransformTo(boxout, **kwargs) [source]

Bases: matplotlib.transforms.Affine2DBase

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

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

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

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

get_matrix(self) [source]

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

is_separable = True
class matplotlib.transforms.BboxTransformToMaxOnly(boxout, **kwargs) [source]

Bases: matplotlib.transforms.BboxTransformTo

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

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

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

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

class 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__(self, 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(self) [source]

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

is_separable = True
class 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__(self, x_transform, y_transform, **kwargs) [source]

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

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

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

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

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

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

property depth

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

Примечание

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

frozen(self) [source]

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

get_affine(self) [source]

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

property has_inverse

bool(x) -> bool

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

input_dims = 2
inverted(self) [source]

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

Содержит 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) [source]

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

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

Bases: matplotlib.transforms.Affine2DBase

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

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

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

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

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

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

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

property depth

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

Примечание

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

get_matrix(self) [source]

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

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

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

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

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

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

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

__eq__(self, other) [source]

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

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

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

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

property depth

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

Примечание

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

frozen(self) [source]

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

get_affine(self) [source]

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

property has_inverse

bool(x) -> bool

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

inverted(self) [source]

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

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

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

property is_affine

bool(x) -> bool

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

property is_separable

bool(x) -> bool

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

pass_through = True
transform_affine(self, points) [source]

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

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

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

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) [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__(self)

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

frozen(self) [source]

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

get_affine(self) [source]

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

get_matrix(self) [source]

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

inverted(self) [source]

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

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

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

transform(self, points) [source]

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

Параметры:
valuesarray

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

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

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

transform_affine(self, points) [source]

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

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

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

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

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

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

transform_path_affine(self, path) [source]

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

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

transform_path_non_affine(self, path) [source]

Применить неаффинную часть этого преобразования к 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) [source]

Bases: matplotlib.transforms.BboxBase

A 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) [source]
Параметры:
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) [source]
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) [source]

Bases: matplotlib.transforms.Affine2DBase

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

Параметры:
shorthand_namestr

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

__init__(self, xt, yt, scale_trans, **kwargs) [source]
Параметры:
shorthand_namestr

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

get_matrix(self) [source]

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

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

Bases: 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()
Parameters:
shorthand_namestr

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

__add__(self, other) [source]

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

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

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

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

classmethod __init_subclass__() [source]

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

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

__module__ = 'matplotlib.transforms'
__sub__(self, 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(self, other) [source]

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

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

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

contains_branch_seperately(self, other_transform) [source]

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

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

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

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

Примечание

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

get_affine(self) [source]

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

get_matrix(self) [source]

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

has_inverse = False

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

input_dims = None

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

inverted(self) [source]

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

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

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

is_separable = False

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

output_dims = None

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

transform(self, values) [source]

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

Parameters:
valuesarray

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

Returns:
array

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

transform_affine(self, values) [source]

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

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

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

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

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

pts(N, 2) array-like

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

radiansbool, default: False

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

pushofffloat

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

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

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

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

transform_non_affine(self, values) [source]

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

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

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

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

transform_path_affine(self, path) [source]

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

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

transform_path_non_affine(self, path) [source]

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

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

transform_point(self, 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__(self, *args) [source]
__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) [source]
__init__(self, shorthand_name=None) [source]
Параметры:
shorthand_namestr

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

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

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

frozen(self) [source]

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

invalidate(self) [source]

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

is_affine = False
is_bbox = False
pass_through = False

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

set_children(self, *children) [source]

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

class matplotlib.transforms.TransformWrapper(child) [source]

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

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

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

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

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

__eq__(self, other) [source]

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

__hash__ = None
__init__(self, child) [source]

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

__module__ = 'matplotlib.transforms'
__str__(self)

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

frozen(self) [source]

Возвращает замороженную копию этого узла преобразования. Замороженная копия не будет обновляться при изменении её дочерних элементов. Полезно для сохранения ранее известного состояния преобразования, где 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) [source]

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

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

class matplotlib.transforms.TransformedBbox(bbox, transform, **kwargs) [source]

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

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

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

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

get_points(self) [source]
class matplotlib.transforms.TransformedPatchPath(patch) [source]

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

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

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

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

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

Примечание

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

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

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

get_transformed_path_and_affine(self) [source]

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

get_transformed_points_and_affine(self) [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.

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

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

Параметры:
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') [source]

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

Параметры:
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