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(«симлог») масштаба.Конкретно, преобразование координаты оси \(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(вызываемый объект, вызываемый объект)
-
Двухэлементный кортеж прямых и обратных функций для масштаба. Прямая функция должна быть монотонной.
Обе функции должны иметь сигнатуру:
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(вызываемый объект, вызываемый объект)
-
Двухэлементный кортеж прямых и обратных функций для масштаба. Прямая функция должна быть монотонной.
Обе функции должны иметь сигнатуру:
def forward(values: array-like) -> array-like
- baseчисло с плавающей точкой, по умолчанию: 10
-
Логарифмическая основа масштаба.
-
axis
- свойствоbase
- get_transform()[source]
-
Возвращает
Transform, связанную с этим масштабом.
- name='functionlog'
- классmatplotlib.scale.FuncTransform(forward, inverse)[source]
-
Базы:
TransformПростой преобразователь, который принимает произвольную функцию для прямого и обратного преобразования.
- Параметры:
-
- forwardвызываемый объект
-
Прямая функция преобразования. Эта функция должна иметь обратную функцию и, для лучшего поведения, быть монотонной. Она должна иметь сигнатуру:
def forward(values: array-like) -> array-like
- inverseвызываемый объект
-
Обратная функция прямой функции. Сигнатура как
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). В аффинных преобразованиях это всегда пустое действие.- Параметры:
-
- valuesмассив
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива длиной
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). В аффинных преобразованиях это всегда пустое действие.- Параметры:
-
- valuesмассив
-
Входные значения в виде массива длиной
input_dimsили формы (N,input_dims).
- Возвращает:
-
- массив
-
Выходные значения в виде массива длиной
output_dimsили формы (N,output_dims), в зависимости от входных данных.
- classmatplotlib.scale.InvertedSymmetricalLogTransform(base, linthresh, linscale)[source]
-
Bases:
Transform- Parameters:
-
- shorthand_namestr
-
A string representing the "name" of the transform. The name carries no significance other than to improve the readability of
str(transform)when DEBUG=True.
- has_inverse=True
-
True if this transform has a corresponding inverse transform.
- input_dims=1
-
The number of input dimensions of this transform. Must be overridden (with integers) in the subclass.
- inverted()[source]
-
Return the corresponding inverse transformation.
It holds
x == self.inverted().transform(self.transform(x)).The return value of this method should be treated as temporary. An update to self does not cause a corresponding update to its inverted copy.
- is_separable=True
-
True if this transform is separable in the x- and y- dimensions.
- output_dims=1
-
The number of output dimensions of this transform. Must be overridden (with integers) in the subclass.
- transform_non_affine(values)[source]
-
Apply only the non-affine part of this transformation.
transform(values)is always equivalent totransform_affine(transform_non_affine(values)).In non-affine transformations, this is generally equivalent to
transform(values). In affine transformations, this is always a no-op.- Parameters:
-
- valuesarray
-
The input values as an array of length
input_dimsor shape (N,input_dims).
- Returns:
-
- array
-
The output values as an array of length
output_dimsor shape (N,output_dims), depending on the input.
- classmatplotlib.scale.LinearScale(axis)[source]
-
Bases:
ScaleBaseThe default linear scale.
- get_transform()[source]
-
Return the transform for linear scaling, which is just the
IdentityTransform.
- name='linear'
- set_default_locators_and_formatters(axis)[source]
-
Set the locators and formatters of axis to instances suitable for this scale.
- классmatplotlib.scale.LogScale(axis, *, base=10, subs=None, nonpositive='clip')[source]
-
Базовый логарифмический масштаб. Обращается внимание на то, чтобы отображать только положительные значения.
Базовые классы:
ScaleBase- Параметры:
-
-
axis
Axis -
Ось для шкалы.
- basefloat, по умолчанию: 10
-
Основание логарифма.
- nonpositive{'clip', 'mask'}, по умолчанию: 'clip'
-
Определяет поведение для неположительных значений. Они могут быть замаскированы как недопустимые или усечены до очень малого положительного числа.
- subsпоследовательность целых чисел, по умолчанию: None
-
Где размещать подделения между каждым основным делением. Например, в логарифмическом масштабе по основанию 10,
[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]
-
Устанавливает логарифмические разместители и форматировщики оси.
- классmatplotlib.scale.LogTransform(base, nonpositive='clip')[source]
-
Базовые классы:
Transform- Параметры:
-
- краткое_имяstr
-
Строка, представляющая "имя" преобразования. Имя не имеет значения, кроме повышения удобочитаемости
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- 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]
-
Логическое преобразование (основание 10).
- classmatplotlib.scale.LogitScale(axis, nonpositive='mask', *, one_half='\\frac{1}{2}', use_overline=False)[source]
-
Bases:
ScaleBaseЛогический масштаб для данных между нулём и единицей, не включая сами нуль и единицу.
Этот масштаб подобен логарифмическому масштабу вблизи нуля и единицы и почти линейному около 0,5. Он отображает интервал ]0, 1[ на ]-бесконечность, +бесконечность[.
- Parameters:
-
-
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 (исключая 0 и 1).
- name='logit'
- set_default_locators_and_formatters(axis)[source]
-
Устанавливает локаторы и форматировщики axis на экземпляры, подходящие для этого масштаба.
- classmatplotlib.scale.LogitTransform(nonpositive='mask')[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]
-
Логическое преобразование (основание 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
-
A string representing the "name" of the transform. The name carries no significance other than to improve the readability of
str(transform)when 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/3.8.4/api/scale_api.html