Spec-Zone.ru › Matplotlib

matplotlib.scale

Масштабирования определяют распределение значений данных на оси, например, логарифмический масштаб. Они определяются как подклассы ScaleBase.

См. также axes.Axes.set_xscale и примеры масштабирования в документации.

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

Matplotlib также поддерживает неразделимые преобразования, которые действуют на обе Axis одновременно. Они известны как проекции и определяются в matplotlib.projections.

classmatplotlib.scale.AsinhScale(axis, *, linear_width=1.0, base=10, subs='auto', **kwargs)[source]

Bases: ScaleBase

Квазилогарифмический масштаб, основанный на обратной гиперболической синусоиде (asinh)

Для значений, близких к нулю, это по существу линейный масштаб, но для значений большой величины (положительных или отрицательных) он асимптотически логарифмический. Переход между этими линейными и логарифмическими режимами плавный и не имеет разрывов в градиенте функции в отличие от масштаба SymmetricalLogScale ("symlog").

В частности, преобразование координаты оси \(a\) составляет \(a \rightarrow a_0 \sinh^{-1} (a / a_0)\), где \(a_0\) — эффективная ширина линейной области преобразования. В этой области преобразование составляет \(a \rightarrow a + \mathcal{O}(a^3)\). Для больших значений \(a\) преобразование ведет себя как \(a \rightarrow a_0 \, \mathrm{sgn}(a) \ln |a| + \mathcal{O}(1)\).

Примечание

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

Параметры:
linear_widthfloat, по умолчанию: 1

Параметр масштаба (в другом месте обозначаемый как \(a_0\)) определяющий область квазилинейной области и координатные значения за пределами которых преобразование асимптотически становится логарифмическим.

baseint, по умолчанию: 10

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

subsпоследовательность целых чисел

Множители основания, используемые для вспомогательных меток. Если установлено значение 'auto', это использует встроенные значения по умолчанию, например, (2, 5) для base=10.

auto_tick_multipliers={3: (2,), 4: (2,), 5: (2,), 8: (2, 4), 10: (2, 5), 16: (2, 4, 8), 64: (4, 16), 1024: (256, 512)}
get_transform()[source]

Возвращает объект Transform, связанный с этим масштабом.

propertylinear_width
name='asinh'
set_default_locators_and_formatters(axis)[source]

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

classmatplotlib.scale.AsinhTransform(linear_width)[source]

Bases: Transform

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

Параметры:
shorthand_namestr

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

has_inverse=True

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

input_dims=1

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

inverted()[source]

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

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

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

is_separable=True

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

output_dims=1

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

transform_non_affine(values)[source]

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

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

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

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

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

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

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

классmatplotlib.scale.FuncScale(axis, functions)[source]

Основы: ScaleBase

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

Параметры:
axisAxis

Ось для шкалы.

functions(callable, callable)

Двойка функций: прямой и обратной для шкалы. Прямая функция должна быть монотонной.

Обе функции должны иметь сигнатуру:

def forward(values: array-like) -> array-like
get_transform()[source]

Возвращает FuncTransform, связанную с этой шкалой.

name='function'
set_default_locators_and_formatters(axis)[source]

Устанавливает локаторы и форматировщики оси axis, подходящие для этой шкалы.

классmatplotlib.scale.FuncScaleLog(axis, functions, base=10)[source]

Основы: LogScale

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

Параметры:
axisAxis

Ось для шкалы.

functions(callable, callable)

Двойка функций: прямой и обратной для шкалы. Прямая функция должна быть монотонной.

Обе функции должны иметь сигнатуру:

def forward(values: array-like) -> array-like
basefloat, по умолчанию: 10

Основание логарифма шкалы.

свойствоbase
get_transform()[source]

Возвращает Transform, связанную с этой шкалой.

name='functionlog'
классmatplotlib.scale.FuncTransform(forward, inverse)[source]

Основы: Transform

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

Параметры:
forwardcallable

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

def forward(values: array-like) -> array-like
inversecallable

Обратная функция прямой функции. Подпись как forward.

has_inverse=True

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

input_dims=1

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

inverted()[source]

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

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

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

is_separable=True

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

output_dims=1

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

transform_non_affine(values)[source]

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

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

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

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

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

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

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

classmatplotlib.scale.InvertedAsinhTransform(linear_width)[source]

Bases: Transform

Гиперболическая синусная трансформация, используемая AsinhScale

Параметры:
shorthand_namestr

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

has_inverse=True

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

input_dims=1

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

inverted()[source]

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

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

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

is_separable=True

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

output_dims=1

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

transform_non_affine(values)[source]

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

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

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

Параметры:
valuesarray

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

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

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

classmatplotlib.scale.InvertedLogTransform(base)[source]

Bases: Transform

Параметры:
shorthand_namestr

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

has_inverse=True

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

input_dims=1

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

inverted()[source]

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

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

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

is_separable=True

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

output_dims=1

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

transform_non_affine(values)[source]

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

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

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

Параметры:
valuesarray

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

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

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

classmatplotlib.scale.InvertedSymmetricalLogTransform(base, linthresh, linscale)[source]

Bases: Transform

Parameters:
shorthand_namestr

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

has_inverse=True

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

input_dims=1

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

inverted()[source]

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

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

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

is_separable=True

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

output_dims=1

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

transform_non_affine(values)[source]

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

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

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

Parameters:
valuesarray

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

Returns:
array

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

classmatplotlib.scale.LinearScale(axis)[source]

Bases: ScaleBase

Стандартная линейная шкала.

get_transform()[source]

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

name='linear'
set_default_locators_and_formatters(axis)[source]

Устанавливает локаторы и форматеры axis для значений, подходящих для данной шкалы.

классmatplotlib.scale.LogScale(axis, *, base=10, subs=None, nonpositive='clip')[source]

Основанные на: ScaleBase

Стандартная логарифмическая шкала. Обращается внимание на то, чтобы отображать только положительные значения.

Параметры:
axisAxis

Ось для шкалы.

basefloat, по умолчанию: 10

Основание логарифма.

nonpositive{'clip', 'mask'}, по умолчанию: 'clip'

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

subsпоследовательность int, по умолчанию: None

Местоположение дополнительных меток между каждой основной меткой. Например, в логарифмической шкале log10, [2, 3, 4, 5, 6, 7, 8, 9] разместит 8 логарифмически распределенных дополнительных меток между каждой основной меткой.

свойствоbase
get_transform()[source]

Возвращает LogTransform , связанную с этой шкалой.

limit_range_for_scale(vmin, vmax, minpos)[source]

Ограничить область положительными значениями.

name='log'
set_default_locators_and_formatters(axis)[source]

Устанавливает локаторы и форматеры axis в экземпляры, подходящие для этой шкалы.

классmatplotlib.scale.LogTransform(base, nonpositive='clip')[source]

Основанные на: Transform

Параметры:
shorthand_namestr

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

has_inverse=True

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

input_dims=1

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

inverted()[source]

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

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

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

is_separable=True

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

output_dims=1

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

transform_non_affine(values)[source]

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

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

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

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

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

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

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

classmatplotlib.scale.LogisticTransform(nonpositive='mask')[source]

Bases: Transform

Параметры:
shorthand_namestr

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

has_inverse=True

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

input_dims=1

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

inverted()[source]

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

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

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

is_separable=True

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

output_dims=1

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

transform_non_affine(values)[source]

Логическое преобразование (основание 10)

classmatplotlib.scale.LogitScale(axis, nonpositive='mask', *, one_half='\\frac{1}{2}', use_overline=False)[source]

Bases: ScaleBase

Логит-шкала для данных между нулём и единицей, не включая их.

Эта шкала похожа на логарифмическую шкалу вблизи нуля и единицы и почти линейная около 0,5. Она отображает интервал ]0, 1[ на ]-infty, +infty[.

Параметры:
axisAxis

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

nonpositive{'mask', 'clip'}

Определяет поведение для значений за пределами открытого интервала ]0, 1[. Они могут быть либо замаскированы как недопустимые, либо обрезаны до числа, очень близкого к 0 или 1.

use_overlinebool, default: False

Указывает на использование обозначения выживаемости (overline{x}) вместо стандартного обозначения (1-x) для вероятности, близкой к единице.

one_halfstr, default: r"frac{1}{2}"

Строка, используемая для форматирования меток, чтобы представить 1/2.

get_transform()[source]

Возвращает LogitTransform, связанную с этой шкалой.

limit_range_for_scale(vmin, vmax, minpos)[source]

Ограничить область определения значениями между 0 и 1 (исключая их).

name='logit'
set_default_locators_and_formatters(axis)[source]

Установить локации и форматы axis в соответствие с этой шкалой.

classmatplotlib.scale.LogitTransform(nonpositive='mask')[source]

Bases: Transform

Параметры:
shorthand_namestr

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

has_inverse=True

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

input_dims=1

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

inverted()[source]

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

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

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

is_separable=True

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

output_dims=1

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

transform_non_affine(values)[source]

Логит-преобразование (основание 10), замаскированное или обреззанное

classmatplotlib.scale.ScaleBase(axis)[source]

Bases: object

Базовый класс для всех шкал.

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

Подклассы должны переопределить

name

Имя шкалы.

get_transform()

Метод, возвращающий объект Transform, который преобразует координаты данных в отмасштабированные координаты. Это преобразование должно быть обратимым, чтобы, например, координаты курсора можно было преобразовать обратно в координаты данных.

set_default_locators_and_formatters()

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

limit_range_for_scale()

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

Создает новую шкалу.

Примечания

Следующее примечание предназначено для разработчиков шкал.

Из соображений обратной совместимости шкалы принимают объект Axis в качестве первого аргумента. Однако этот аргумент не следует использовать: один объект шкалы должен быть пригоден для использования несколькими Axis одновременно.

get_transform()[source]

Возвращает объект Transform, связанный с этой шкалой.

limit_range_for_scale(vmin, vmax, minpos)[source]

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

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

set_default_locators_and_formatters(axis)[source]

Устанавливает значения по умолчанию для меток и форматов для axis, подходящие для этой шкалы.

classmatplotlib.scale.SymmetricalLogScale(axis, *, base=10, linthresh=2, subs=None, linscale=1)[source]

Bases: ScaleBase

Симметричная логарифмическая шкала — это логарифмическая шкала как в положительном, так и в отрицательном направлениях от начала координат.

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

Parameters:
basefloat, default: 10

Основание логарифма.

linthreshfloat, default: 2

Определяет диапазон (-x, x), в котором график является линейным. Это предотвращает стремление графика к бесконечности около нуля.

subssequence of int

Где разместить дополнительные метки между каждой основной меткой. Например, в логарифмической шкале с основанием 10: [2, 3, 4, 5, 6, 7, 8, 9] разместит 8 логарифмически распределённых дополнительных меток между каждой основной меткой.

linscalefloat, optional

Это позволяет растянуть линейный диапазон (-linthresh, linthresh) относительно логарифмического диапазона. Его значение — число десятичных разрядов для каждой половины линейного диапазона. Например, при linscale == 1.0 (значение по умолчанию) пространство, используемое для положительной и отрицательной половин линейного диапазона, будет равно одному десятичному разряду в логарифмическом диапазоне.

Создает новую шкалу.

Примечания

Следующее примечание предназначено для разработчиков шкал.

Из соображений обратной совместимости шкалы принимают объект Axis в качестве первого аргумента. Однако этот аргумент не следует использовать: один объект шкалы должен быть пригоден для использования несколькими Axis одновременно.

propertybase
get_transform()[source]

Возвращает SymmetricalLogTransform, связанную с этой шкалой.

propertylinscale
propertylinthresh
name='symlog'
set_default_locators_and_formatters(axis)[source]

Устанавливает значения по умолчанию для меток и форматов для axis, подходящие для этой шкалы.

classmatplotlib.scale.SymmetricalLogTransform(base, linthresh, linscale)[source]

Bases: Transform

Parameters:
shorthand_namestr

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

has_inverse=True

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

input_dims=1

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

inverted()[source]

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

В нём x == self.inverted().transform(self.transform(x)).

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

is_separable=True

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

output_dims=1

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

transform_non_affine(values)[source]

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

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

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

Parameters:
valuesarray

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

Returns:
array

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

matplotlib.scale.get_scale_names()[source]

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

matplotlib.scale.register_scale(scale_class)[source]

Регистрирует новый вид масштаба.

Parameters:
scale_classподкласс ScaleBase

Масштаб для регистрации.

matplotlib.scale.scale_factory(scale, axis, **kwargs)[source]

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

Parameters:
scale{'asinh', 'function', 'functionlog', 'linear', 'log', 'logit', 'symlog'}
axisAxis

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

Spec-Zone.ru

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