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Обеспечивает произвольную шкалу с функциями, заданными пользователем, для оси.
- Параметры:
-
-
axis
Axis -
Ось для шкалы.
- functions(callable, callable)
-
Двойка функций: прямой и обратной для шкалы. Прямая функция должна быть монотонной.
Обе функции должны иметь сигнатуру:
def forward(values: array-like) -> array-like
-
axis
- get_transform()[source]
-
Возвращает
FuncTransform, связанную с этой шкалой.
- name='function'
- set_default_locators_and_formatters(axis)[source]
-
Устанавливает локаторы и форматировщики оси axis, подходящие для этой шкалы.
- классmatplotlib.scale.FuncScaleLog(axis, functions, base=10)[source]
-
Основы:
LogScaleОбеспечивает произвольную шкалу с функциями, заданными пользователем, для логарифмической оси.
- Параметры:
-
-
axis
Axis -
Ось для шкалы.
- functions(callable, callable)
-
Двойка функций: прямой и обратной для шкалы. Прямая функция должна быть монотонной.
Обе функции должны иметь сигнатуру:
def forward(values: array-like) -> array-like
- basefloat, по умолчанию: 10
-
Основание логарифма шкалы.
-
axis
- свойство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Стандартная логарифмическая шкала. Обращается внимание на то, чтобы отображать только положительные значения.
- Параметры:
-
-
axis
Axis -
Ось для шкалы.
- basefloat, по умолчанию: 10
-
Основание логарифма.
- nonpositive{'clip', 'mask'}, по умолчанию: 'clip'
-
Определяет поведение для неположительных значений. Они могут быть либо замаскированы как недопустимые, либо обрезаны до очень малого положительного числа.
- subsпоследовательность int, по умолчанию: None
-
Местоположение дополнительных меток между каждой основной меткой. Например, в логарифмической шкале log10,
[2, 3, 4, 5, 6, 7, 8, 9]разместит 8 логарифмически распределенных дополнительных меток между каждой основной меткой.
-
axis
- свойство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[.
- Параметры:
-
-
axis
Axis -
В настоящее время не используется.
- nonpositive{'mask', 'clip'}
-
Определяет поведение для значений за пределами открытого интервала ]0, 1[. Они могут быть либо замаскированы как недопустимые, либо обрезаны до числа, очень близкого к 0 или 1.
- use_overlinebool, default: False
-
Указывает на использование обозначения выживаемости (overline{x}) вместо стандартного обозначения (1-x) для вероятности, близкой к единице.
- one_halfstr, default: r"frac{1}{2}"
-
Строка, используемая для форматирования меток, чтобы представить 1/2.
-
axis
- 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 -
Масштаб для регистрации.
-
scale_classподкласс
- matplotlib.scale.scale_factory(scale, axis, **kwargs)[source]
-
Возвращает класс масштаба по имени.
- Parameters:
-
- scale{'asinh', 'function', 'functionlog', 'linear', 'log', 'logit', 'symlog'}
-
axis
Axis
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/scale_api.html