Spec-Zone.ru › Matplotlib 3.8

matplotlib.ticker

Поиск и форматирование делений шкалы

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

Хотя поисковики не знают о основных или дополнительных делениях, они используются классом Axis для поддержки поиска и форматирования основных и дополнительных делений.

Поиск делений

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

Подклассы Locator, определённые здесь:

AutoLocator

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

MaxNLocator

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

LinearLocator

Равномерно распределяет деления от минимума до максимума.

LogLocator

Распределяет деления логарифмически от минимума до максимума.

MultipleLocator

Деления и диапазон кратны основанию; целое или вещественное число.

FixedLocator

Позиции делений фиксированы.

IndexLocator

Поисковик делений для графиков индексов (например, где x = range(len(y))).

NullLocator

Нет делений.

SymmetricalLogLocator

Поисковик делений для использования с нормой symlog; работает как LogLocator для части вне порога и добавляет 0, если внутри пределов.

AsinhLocator

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

LogitLocator

Поисковик делений для логарифмической шкалы.

AutoMinorLocator

Поисковик дополнительных делений, когда ось линейна, а основные деления равномерно распределены. Разбивает интервал основных делений на указанное число дополнительных интервалов, по умолчанию 4 или 5 в зависимости от интервала основных делений.

Существует ряд поисковиков, специализирующихся на датах — см. модуль dates.

Вы можете определить собственный поисковик, унаследовав от Locator. Вы должны переопределить метод __call__, который возвращает последовательность позиций, и, вероятно, захотите переопределить метод autoscale для установки пределов отображения по пределу данных.

Если вы хотите переопределить по умолчанию поисковик, используйте один из вышеперечисленных или пользовательский поисковик и передайте его экземпляру оси x или y. Соответствующие методы:

ax.xaxis.set_major_locator(xmajor_locator)
ax.xaxis.set_minor_locator(xminor_locator)
ax.yaxis.set_major_locator(ymajor_locator)
ax.yaxis.set_minor_locator(yminor_locator)

По умолчанию поисковик дополнительных делений — NullLocator, т. е. дополнительных делений по умолчанию нет.

Примечание

Экземпляры Locator не должны использоваться с более чем одной осью Axis или Axes. Поэтому вместо:

locator = MultipleLocator(5)
ax.xaxis.set_major_locator(locator)
ax2.xaxis.set_major_locator(locator)

сделайте следующее:

ax.xaxis.set_major_locator(MultipleLocator(5))
ax2.xaxis.set_major_locator(MultipleLocator(5))

Форматирование делений

Форматирование делений контролируется классами, производными от Formatter. Форматировщик работает с одним значением деления и возвращает строку в ось.

NullFormatter

Нет меток на делениях.

FixedFormatter

Метки устанавливаются вручную.

FuncFormatter

Метки устанавливаются с помощью пользовательской функции.

StrMethodFormatter

Использование метода строк format.

FormatStrFormatter

Использование строки форматирования старого стиля sprintf.

ScalarFormatter

Форматировщик по умолчанию для скалярных величин: автоматический выбор строки форматирования.

LogFormatter

Форматировщик для логарифмических осей.

LogFormatterExponent

Форматирование значений для логарифмической оси с использованием exponent = log_base(value).

LogFormatterMathtext

Форматирование значений для логарифмической оси с использованием exponent = log_base(value) с помощью математического текста.

LogFormatterSciNotation

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

LogitFormatter

Форматировщик вероятностей.

EngFormatter

Форматирование меток в инженерной записи.

PercentFormatter

Форматирование меток в процентах.

Вы можете разработать собственный форматировщик, унаследовав от базового класса Formatter, просто переопределив метод __call__. Класс форматировщика имеет доступ к отображению и пределам данных оси.

Для управления форматом меток основных и дополнительных делений используйте один из следующих методов:

ax.xaxis.set_major_formatter(xmajor_formatter)
ax.xaxis.set_minor_formatter(xminor_formatter)
ax.yaxis.set_major_formatter(ymajor_formatter)
ax.yaxis.set_minor_formatter(yminor_formatter)

В дополнение к экземпляру Formatter, set_major_formatter и set_minor_formatter также принимают str или функцию. str вход будет заменён внутри на автоматически сгенерированный StrMethodFormatter с входом str. Для функции входа, будет создан и использован FuncFormatter с заданной функцией.

См. Основные и дополнительные деления для примера установки основных и дополнительных делений. См. модуль matplotlib.dates для получения дополнительной информации и примеров использования поисковиков и форматировщиков дат.

classmatplotlib.ticker.AsinhLocator(linear_width, numticks=11, symthresh=0.2, base=10, subs=None)[source]

Bases: Locator

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

Вероятно, это будет бесполезно вне класса AsinhScale.

Примечание

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

Параметры:
linear_widthfloat

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

numticksint, по умолчанию: 11

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

symthreshfloat, по умолчанию: 0.2

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

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

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

substuple, по умолчанию: None

Кратные основанию системы счисления, обычно используемые для второстепенных делений, например, (2, 5), когда base=10.

set_params(numticks=None, symthresh=None, base=None, subs=None)[source]

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

tick_values(vmin, vmax)[source]

Возвращает значения помеченных делений, заданных vmin и vmax.

Примечание

Чтобы получить расположения делений с автоматически определенными значениями vmin и vmax для связанного axis просто вызовите экземпляр размещателя:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
classmatplotlib.ticker.AutoLocator[source]

Bases: MaxNLocator

Динамически находит позиции основных делений. Это фактически подкласс MaxNLocator, с параметрами nbins = 'auto' и steps = [1, 2, 2.5, 5, 10].

Чтобы узнать значения закрытых параметров, см. значения по умолчанию для MaxNLocator.

classmatplotlib.ticker.AutoMinorLocator(n=None)[source]

Bases: Locator

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

n — количество подразделений интервала между основными делениями; например, n=2 разместит одно второстепенное деление посередине между основными.

Если n опущено или равно None, используется значение, хранящееся в rcParams. В случае, если n установлено в 'auto', оно будет установлено в 4 или 5. Если расстояние между основными делениями равно 1, 2,5, 5 или 10, оно может быть идеально разделено на 5 равномерно расположенных подынтервалов длиной, кратной 0,05. В противном случае оно делится на 4 подынтервала.

tick_values(vmin, vmax)[source]

Возвращает значения помеченных делений, заданных vmin и vmax.

Примечание

Чтобы получить расположения делений с автоматически определенными значениями vmin и vmax для связанного axis просто вызовите экземпляр размещателя:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
классmatplotlib.ticker.EngFormatter(unit='', places=None, sep=' ', *, usetex=None, useMathText=None)[source]

Базы: Formatter

Форматирует значения осей, используя инженерные префиксы для представления степеней 1000, плюс указанный единицы измерения, например, 10 МГц вместо 1e7.

Параметры:
unitстрока, по умолчанию: ""

Символ единицы измерения, подходящий для использования с однобуквенными обозначениями степеней 1000. Например, 'Hz' или 'm'.

placesцелое число, по умолчанию: None

Точность отображения числа, заданная числом цифр после десятичной точки (будет от одной до трех цифр перед десятичной точкой). Если None, форматирование возвращается к формату с плавающей точкой '%g', который отображает до 6 значимых цифр, т.е. эквивалентное значение для places варьируется от 0 до 5 (включительно).

sepстрока, по умолчанию: " "

Разделитель, используемый между значением и префиксом/единицей измерения. Например, вы получите '3.14 мВ', если sep равно " " (по умолчанию) и '3.14мВ', если sep равно "". Помимо стандартного поведения, могут быть полезны и другие опции:

  • sep="" для непосредственного добавления префикса/единицы измерения к значению;
  • sep="\N{THIN SPACE}" (U+2009);
  • sep="\N{NARROW NO-BREAK SPACE}" (U+202F);
  • sep="\N{NO-BREAK SPACE}" (U+00A0).
usetexbool, по умолчанию: rcParams["text.usetex"] (по умолчанию: False)

Для включения/выключения использования математического режима TeX для отображения чисел в форматировщике.

useMathTextbool, по умолчанию: rcParams["axes.formatter.use_mathtext"] (по умолчанию: False)

Для включения/выключения использования mathtext для отображения чисел в форматировщике.

ENG_PREFIXES={-30: 'q', -27: 'r', -24: 'y', -21: 'z', -18: 'a', -15: 'f', -12: 'p', -9: 'n', -6: 'µ', -3: 'm', 0: '', 3: 'k', 6: 'M', 9: 'G', 12: 'T', 15: 'P', 18: 'E', 21: 'Z', 24: 'Y', 27: 'R', 30: 'Q'}
format_eng(num)[source]

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

>>> format_eng(0)        # for self.places = 0
'0'
>>> format_eng(1000000)  # for self.places = 1
'1.0 M'
>>> format_eng(-1e-6)  # for self.places = 2
'-1.00 µ'
get_useMathText()[source]
get_usetex()[source]
set_useMathText(val)[source]
set_usetex(val)[source]
свойствоuseMathText
свойствоusetex
классmatplotlib.ticker.FixedFormatter(seq)[source]

Базы: Formatter

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

Примечание

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

Устанавливает последовательность seq строк, которые будут использоваться для меток.

get_offset()[source]
set_offset_string(ofs)[source]
классmatplotlib.ticker.FixedLocator(locs, nbins=None)[source]

Базы: Locator

Позиции делений фиксированы в locs. Если nbins не равно None, массив locs возможных позиций будет подвыбираться, чтобы количество делений было <= nbins +1. Подвыборка будет выполнена так, чтобы включить наименьшее по абсолютной величине значение; например, если ноль включён в массив возможных значений, то он гарантированно будет одним из выбранных делений.

set_params(nbins=None)[source]

Устанавливает параметры внутри данного локетора.

tick_values(vmin, vmax)[source]

Возвращает позиции делений.

Примечание

Поскольку значения фиксированы, vmin и vmax в этом методе не используются.

классmatplotlib.ticker.FormatStrFormatter(fmt)[source]

Базы: Formatter

Используйте строку форматирования старого стиля ('%' оператор) для форматирования метки.

Строка форматирования должна содержать единственный формат переменной (%) в ней. Она будет применена к значению (а не к позиции) метки.

Отрицательные числовые значения будут использовать дефис, а не символ Unicode минус; используйте mathtext для получения символа Unicode минус, обернув спецификатор форматирования в $ (например, "$%g$").

классmatplotlib.ticker.Formatter[source]

Базы: TickHelper

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

статическийfix_minus(s)[source]

Некоторые классы могут захотеть заменить дефис на минус соответствующим символом Unicode (U+2212) для типографской точности. Это вспомогательный метод для выполнения такой замены, если она включена через rcParams["axes.unicode_minus"] (по умолчанию: True).

format_data(value)[source]

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

format_data_short(value)[source]

Возвращает короткую строковую версию значения метки.

По умолчанию используется длинное значение, не зависящее от позиции.

format_ticks(values)[source]

Возвращает метки всех меток сразу.

get_offset()[source]
locs=[]
set_locs(locs)[source]

Устанавливает расположения меток.

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

классmatplotlib.ticker.FuncFormatter(func)[source]

Базы: Formatter

Используйте пользовательскую функцию для форматирования.

Функция должна принимать два входных значения (значение метки x и позицию pos) и возвращать строку, содержащую соответствующую метку метки.

get_offset()[source]
set_offset_string(ofs)[source]
классmatplotlib.ticker.IndexLocator(base, offset)[source]

Базы: Locator

Размещает метку на каждом кратном некоторому базовому числу точек, нарисованных, например, на каждой 5-й точке. Предполагается, что вы выполняете индексное построение; то есть ось — это 0, len(данные). Это в основном полезно для x меток.

Размещает метки через base данных точек, начиная с offset.

set_params(base=None, offset=None)[source]

Устанавливает параметры в этом локаторе

tick_values(vmin, vmax)[source]

Возвращает значения расположенных меток, учитывая значения vmin и vmax.

Примечание

Чтобы получить расположения меток со значениями vmin и vmax, определёнными автоматически для связанного axis просто вызовите экземпляр Locator:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
classmatplotlib.ticker.LinearLocator(numticks=None, presets=None)[source]

Bases: Locator

Определение расположения делений шкалы

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

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

Количество делений. Если None, numticks = 11.

presetsdict или None, по умолчанию: None

Словарь, сопоставляющий (vmin, vmax) с массивом расположений. Переопределяет numticks, если существует запись для текущего (vmin, vmax).

propertynumticks
set_params(numticks=None, presets=None)[source]

Установить параметры внутри этого локетора.

tick_values(vmin, vmax)[source]

Возвращает значения размеченных делений, заданных vmin и vmax.

Примечание

Чтобы получить метки с автоматически определёнными значениями vmin и vmax для соответствующего axis, просто вызовите экземпляр Locator:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(vmin, vmax)[source]

Попытаться разумно выбрать пределы просмотра.

classmatplotlib.ticker.Locator[source]

Bases: TickHelper

Определить расположения делений;

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

MAXTICKS=1000
nonsingular(v0, v1)[source]

Настроить диапазон в соответствии с потребностями, чтобы избежать особенностей.

Этот метод вызывается во время автоматического масштабирования, причём (v0, v1) устанавливается на пределы данных на осях, если на осях есть данные, или (-inf, +inf) в противном случае.

  • Если v0 == v1 (возможно, с погрешностью с плавающей точкой), этот метод возвращает расширенный интервал вокруг этого значения.
  • Если (v0, v1) == (-inf, +inf), этот метод возвращает соответствующие значения по умолчанию для пределов просмотра.
  • В противном случае (v0, v1) возвращается без изменений.
raise_if_exceeds(locs)[source]

Выводит сообщение об ошибке уровня ПРЕДУПРЕЖДЕНИЕ, если locs длиннее, чем Locator.MAXTICKS.

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

Необычное название этого метода восходит к времени, когда он поднимал исключение вместо вывода сообщения об ошибке.

set_params(**kwargs)[source]

Ничего не делает и выводит предупреждение. Любой класс локетора, не поддерживающий функцию set_params(), вызовет это.

tick_values(vmin, vmax)[source]

Возвращает значения размеченных делений, заданных vmin и vmax.

Примечание

Чтобы получить метки с автоматически определёнными значениями vmin и vmax для соответствующего axis, просто вызовите экземпляр Locator:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(vmin, vmax)[source]

Выбрать масштаб для диапазона от vmin до vmax.

Подклассы должны переопределить этот метод, чтобы изменить поведение локетора.

classmatplotlib.ticker.LogFormatter(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]

Bases: Formatter

Базовый класс для форматирования делений на логарифмической или симметрично-логарифмической шкале.

Может быть инициирован непосредственно или унаследован.

Параметры:
basefloat, по умолчанию: 10.

Основание логарифма, используемое во всех расчётах.

labelOnlyBasebool, по умолчанию: False

Если True, метки делений отображаются только для целых степеней основания. Обычно True для основных делений и False для вспомогательных.

minor_thresholds(подмножество, все), по умолчанию: (1, 0.4)

Если labelOnlyBase равно False, эти два числа контролируют отображение делений, которые не являются целыми степенями основания; обычно это вспомогательные деления. Управляющий параметр — логарифм диапазона данных оси. В типичном случае, когда основание равно 10, это количество десятичных разрядов, охватываемых осью, поэтому мы можем назвать его 'numdec'. Если numdec <= all, все вспомогательные деления будут помечены. Если all < numdec <= subset, то будет помечено только подмножество вспомогательных делений, чтобы избежать переполнения. Если numdec > subset, вспомогательные деления не будут помечены.

linthreshNone или float, по умолчанию: None

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

Примечания

Метод set_locs должен быть вызван для активации логики подмножества, контролируемой параметром minor_thresholds.

В некоторых случаях, таких как цветовая шкала, различия между основными и вспомогательными делениями отсутствуют; расположение делений может быть задано вручную или с помощью локализатора, который размещает деления в целых степенях основания и в промежуточных местах. В этой ситуации отключите логику minor_thresholds, используя minor_thresholds=(np.inf, np.inf), чтобы все деления были помечены.

Чтобы отключить маркировку вспомогательных делений, когда 'labelOnlyBase' равно False, используйте minor_thresholds=(0, 0). Это значение по умолчанию для стиля "классический".

Примеры

Для маркировки подмножества вспомогательных делений, когда пределы отображения охватывают до 2 десятичных разрядов, и всех делений при масштабировании до 0,5 десятичных разрядов или меньше, используйте minor_thresholds=(2, 0.5).

Для маркировки всех вспомогательных делений, когда пределы отображения охватывают до 1,5 десятичных разрядов, используйте minor_thresholds=(1.5, 1.5).

format_data(value)[source]

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

format_data_short(value)[source]

Возвращает короткую строковую версию значения деления.

По умолчанию использует длинное значение, не зависящее от позиции.

set_base(base)[source]

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

Предупреждение

Должно всегда соответствовать основанию, используемому для LogLocator

set_label_minor(labelOnlyBase)[source]

Включает или выключает маркировку вспомогательных делений.

Параметры:
labelOnlyBasebool

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

set_locs(locs=None)[source]

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

Параметр locs игнорируется в текущем алгоритме.

classmatplotlib.ticker.LogFormatterExponent(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]

Bases: LogFormatter

Форматирование значений для логарифмической оси с использованием exponent = log_base(value).

classmatplotlib.ticker.LogFormatterMathtext(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]

Bases: LogFormatter

Форматирование значений для логарифмической оси с использованием exponent = log_base(value).

classmatplotlib.ticker.LogFormatterSciNotation(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]

Bases: LogFormatterMathtext

Форматирование значений в соответствии с научной записью на логарифмической оси.

classmatplotlib.ticker.LogLocator(base=10.0, subs=(1.0, ), numdecs=<deprecated parameter>, numticks=None)[source]

Bases: Locator

Определяет расположение делений для логарифмических осей.

Располагает деления в позициях : subs[j] * base**i

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

Основание логарифма, используемое для размещения основных делений в позициях base**n, где n — целое число.

subsNone или {'auto', 'all'} или последовательность чисел с плавающей точкой, по умолчанию: (1.0,)

Указывает кратные целым степеням основания, в которых должны быть размещены деления. По умолчанию (1.0, ) размещаются только в целых степенях основания. Разрешенные строковые значения — 'auto' и 'all'. Оба этих значения используют алгоритм, основанный на пределах области просмотра оси, чтобы определить, нужно ли и как размещать деления между целыми степенями основания. С 'auto', деления размещаются только между целыми степенями; с 'all', целые степени также включаются. Значение None эквивалентно 'auto'.

numticksNone или целое число, по умолчанию: None

Максимальное количество делений на заданной оси. По умолчанию None будет пытаться выбрать значения разумно, если этот локатор уже был назначен оси с помощью get_tick_space, в противном случае возвращается к 9.

Деления размещаются в позициях : subs[j] * base**i.

nonsingular(vmin, vmax)[source]

Корректирует диапазон, чтобы избежать особенностей.

Этот метод вызывается во время автоматического масштабирования с (v0, v1), установленным в пределы данных на осях, если оси содержат какие-либо данные, или (-inf, +inf) в противном случае.

  • Если v0 == v1, этот метод возвращает расширенный интервал вокруг этого значения.
  • Если (v0, v1) == (-inf, +inf), этот метод возвращает соответствующие значения по умолчанию для пределов области просмотра.
  • В противном случае (v0, v1) возвращается без изменений.
propertynumdecs[source]

[Устаревший]

Примечания

Устарело начиная с версии 3.8: Этому атрибуту нет никакого эффекта.

set_params(base=None, subs=None, numdecs=<deprecated parameter>, numticks=None)[source]

Настройка параметров внутри этого локатора.

tick_values(vmin, vmax)[source]

Возвращает значения размещенных делений, заданных vmin и vmax.

Примечание

Чтобы получить расположения делений с автоматически определенными значениями vmin и vmax для связанной axis просто вызовите экземпляр Локатора:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(vmin, vmax)[source]

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

classmatplotlib.ticker.LogitFormatter(*, use_overline=False, one_half='\\frac{1}{2}', minor=False, minor_threshold=25, minor_number=6)[source]

Bases: Formatter

Форматировщик вероятностей (используя математический текст).

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

Если x > 1/2, при x = 1-v, указывает, должен ли x отображаться как $overline{v}$. По умолчанию отображается $1-v$.

one_halfstr, по умолчанию: r"frac{1}{2}"

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

minorbool, по умолчанию: False

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

minor_thresholdint, по умолчанию: 25

Максимальное количество меток для подписи некоторых вспомогательных меток. Этот параметр не имеет эффекта, если minor = False.

minor_numberint, по умолчанию: 6

Количество меток, которые подписываются, когда количество меток меньше порога.

format_data_short(value)[source]

Возвращает короткую строковую версию значения метки.

По умолчанию используется длинное значение, независимое от позиции.

set_locs(locs)[source]

Устанавливает позиции меток.

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

set_minor_number(minor_number)[source]

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

Параметры:
minor_numberint

Количество меток, которые подписываются, когда количество меток меньше порога.

set_minor_threshold(minor_threshold)[source]

Устанавливает порог для подписи вспомогательных меток.

Параметры:
minor_thresholdint

Максимальное количество положений для подписи некоторых вспомогательных меток. Этот параметр не имеет эффекта, если minor = False.

set_one_half(one_half)[source]

Устанавливает способ отображения одной половины.

one_halfstr, по умолчанию: r"frac{1}{2}"

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

use_overline(use_overline)[source]

Переключает режим отображения с надстрочной чертой для подписи p>1/2.

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

Если x > 1/2, при x = 1-v, указывает, должен ли x отображаться как $overline{v}$. По умолчанию отображается $1-v$.

classmatplotlib.ticker.LogitLocator(minor=False, *, nbins='auto')[source]

Bases: MaxNLocator

Определяет позиции меток для логарифмических осей

Расположение меток на логарифмических позициях

Параметры:
nbinsint или 'auto', необязательно

Количество меток. Используется только если minor = False.

minorbool, по умолчанию: False

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

propertyminor
nonsingular(vmin, vmax)[source]

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

Этот метод вызывается во время автоматической масштабирования, с (v0, v1) установленными на пределы данных на осях, если оси содержат какие-либо данные, или (-inf, +inf) в противном случае.

  • Если v0 == v1 (возможно, до некоторой погрешности с плавающей точкой), этот метод возвращает расширенный интервал вокруг этого значения.
  • Если (v0, v1) == (-inf, +inf), этот метод возвращает соответствующие пределы просмотра по умолчанию.
  • В противном случае, (v0, v1) возвращается без изменений.
set_params(minor=None, **kwargs)[source]

Устанавливает параметры в этом локаторе.

tick_values(vmin, vmax)[source]

Возвращает значения расположенных меток, заданных vmin и vmax.

Примечание

Для получения положений меток с автоматически определенными значениями vmin и vmax для связанных axis просто вызовите экземпляр локатора:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
classmatplotlib.ticker.MaxNLocator(nbins=None, **kwargs)[source]

Bases: Locator

Находит подходящие метки с не более чем nbins + 1 метками внутри пределов отображения. Метки за пределами пределов добавляются для поддержки автоматического масштабирования.

Параметры:
nbinsint или 'auto', по умолчанию: 10

Максимальное количество интервалов; на одну меньше максимального числа меток. Если строка 'auto', количество интервалов будет определено автоматически на основе длины оси.

stepsмассив-подобный тип, необязательно

Последовательность допустимых кратных значений меток, начиная с 1 и заканчивая 10. Например, если steps=[1, 2, 4, 5, 10], 20, 40, 60 или 0.4, 0.6, 0.8 были бы возможными наборами меток, потому что они кратны 2. 30, 60, 90 не будет сгенерирован, потому что 3 отсутствует в этом примере списка шагов.

integerbool, по умолчанию: False

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

symmetricbool, по умолчанию: False

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

prune{'lower', 'upper', 'both', None}, по умолчанию: None

Удалить метку 'lower', метку 'upper' или метки с 'both' сторон если они попадают точно на край оси (это обычно происходит, когда rcParams["axes.autolimit_mode"] (по умолчанию: 'data') равен 'round_numbers'). Удаление таких меток в основном полезно для столбчатых или связанных графиков, где верхняя метка одной оси перекрывается с нижней меткой оси над ней.

min_n_ticksint, по умолчанию: 2

Расслабить ограничения nbins и integer при необходимости, чтобы получить это минимальное количество меток.

default_params={'integer': False, 'min_n_ticks': 2, 'nbins': 10, 'prune': None, 'steps': None, 'symmetric': False}
set_params(**kwargs)[source]

Установить параметры для этого локета.

Параметры:
nbinsint или 'auto', необязательно

см. MaxNLocator

stepsмассив-подобный тип, необязательно

см. MaxNLocator

integerbool, необязательно

см. MaxNLocator

symmetricbool, необязательно

см. MaxNLocator

prune{'lower', 'upper', 'both', None}, необязательно

см. MaxNLocator

min_n_ticksint, необязательно

см. MaxNLocator

tick_values(vmin, vmax)[source]

Возвращает значения расположенных меток, учитывая vmin и vmax.

Примечание

Чтобы получить расположение меток с автоматически определенными значениями vmin и vmax для соответствующей axis просто вызовите экземпляр Locator:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(dmin, dmax)[source]

Выбор масштаба для диапазона от vmin до vmax.

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

classmatplotlib.ticker.MultipleLocator(base=1.0, offset=0.0)[source]

Bases: Locator

Устанавливает метку на каждом целочисленном кратном значении base плюс offset в пределах интервала отображения.

Параметры:
basefloat > 0

Интервал между метками.

offsetfloat

Значение, добавляемое к каждому кратному base.

New in version 3.8.

set_params(base=None, offset=None)[source]

Установить параметры внутри этого локета.

Параметры:
basefloat > 0

Интервал между метками.

offsetfloat

Значение, добавляемое к каждому кратному base.

New in version 3.8.

tick_values(vmin, vmax)[source]

Возвращает значения расположенных меток, учитывая vmin и vmax.

Примечание

Чтобы получить расположение меток с автоматически определенными значениями vmin и vmax для соответствующей axis просто вызовите экземпляр Locator:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(dmin, dmax)[source]

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

END_OF_DOCUMENT_MARKER
classmatplotlib.ticker.NullFormatter[source]

Bases: Formatter

Всегда возвращает пустую строку.

классmatplotlib.ticker.NullLocator[source]

Базы: Locator

Нет делений

tick_values(vmin, vmax)[source]

Возвращает позиции делений.

Примечание

Так как значения Null, vmin и vmax в этом методе не используются.

классmatplotlib.ticker.PercentFormatter(xmax=100, decimals=None, symbol='%', is_latex=False)[source]

Базы: Formatter

Форматирование чисел в процентах.

Параметры:
xmaxfloat

Определяет, как число преобразуется в процент. xmax — значение данных, соответствующее 100%. Проценты вычисляются как x / xmax * 100. Таким образом, если данные уже масштабированы до процентов, xmax будет равен 100. Другой распространённый случай, когда xmax равен 1,0.

decimalsNone или int

Количество десятичных знаков после запятой. Если None (по умолчанию), количество знаков будет вычислено автоматически.

symbolстрока или None

Строка, которая будет добавлена к метке. Может быть None или пустой, чтобы указать, что символ не должен использоваться. Латексные специальные символы в symbol экранируются, когда включён режим LaTeX, если только is_latex не True.

is_latexbool

Если False, зарезервированные символы LaTeX в symbol будут экранироваться.

convert_to_pct(x)[source]
format_pct(x, display_range)[source]

Форматирование числа в процентах с правильным количеством десятичных знаков и добавлением символа процента, если он есть.

Если self.decimals равно None, количество цифр после запятой устанавливается на основе display_range оси следующим образом:

display_range

decimals

пример

>50

0

x = 34.5 => 35%

>5

1

x = 34.5 => 34,5%

>0,5

2

x = 34.5 => 34,50%

...

...

...

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

свойствоsymbol

Настроенный символ процента в виде строки.

Если LaTeX включен через rcParams["text.usetex"] (по умолчанию: False), специальные символы {'#', '$', '%', '&', '~', '_', '^', '\', '{', '}'} автоматически экранируются в строке.

классmatplotlib.ticker.ScalarFormatter(useOffset=None, useMathText=None, useLocale=None)[source]

Bases: Formatter

Форматирование значений тиков как чисел.

Параметры:
useOffsetbool или float, по умолчанию: rcParams["axes.formatter.useoffset"] (по умолчанию: True)

Использовать ли обозначение смещения. См. set_useOffset.

useMathTextbool, по умолчанию: rcParams["axes.formatter.use_mathtext"] (по умолчанию: False)

Использовать ли форматирование математических выражений. См. set_useMathText.

useLocalebool, по умолчанию: rcParams["axes.formatter.use_locale"] (по умолчанию: False).

Использовать ли настройки локали для разделителя десятичных знаков и знака «плюс». См. set_useLocale.

Примечания

В дополнение к приведенным выше параметрам форматирование научной записи по сравнению с плавающей точкой может быть настроено с помощью set_scientific и set_powerlimits.

Обозначение смещения и научная запись

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

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

Следующий график с пределами оси x от 1_000_000 до 1_000_010 иллюстрирует различные форматы. Обратите внимание на метки на правом краю оси x.

(Source code, 2x.png, png)

format_data(value)[source]

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

format_data_short(value)[source]

Возвращает короткую строковую версию значения тика.

По умолчанию соответствует длинному значению без указания позиции.

get_offset()[source]

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

get_useLocale()[source]

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

См. также

ScalarFormatter.set_useLocale
get_useMathText()[source]

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

См. также

ScalarFormatter.set_useMathText
get_useOffset()[source]

Возвращает, активен ли автоматический режим для обозначения смещения.

Возвращает True, если set_useOffset(True); возвращает False, если смещение было задано явно, например set_useOffset(1000).

См. также

ScalarFormatter.set_useOffset
set_locs(locs)[source]

Устанавливает позиции тиков.

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

set_powerlimits(lims)[source]

Устанавливает пороговые значения размера для научной записи.

Параметры:
lims(int, int)

Кортеж (min_exp, max_exp), содержащий степени 10, которые определяют пороговое значение переключения. Для числа, представимого как \(a \times 10^\mathrm{exp}\) с \(1 <= |a| < 10\), научная запись будет использоваться, если exp <= min_exp или exp >= max_exp.

Значения по умолчанию для пределов контролируются rcParams["axes.formatter.limits"] (по умолчанию: [-5, 6]).

В частности, числа с exp, равными порогам, записываются в научной форме.

Обычно min_exp будет отрицательным, а max_exp — положительным.

Например, formatter.set_powerlimits((-3, 4)) обеспечит следующий формат: \(1 \times 10^{-3}, 9.9 \times 10^{-3}, 0.01,\) \(9999, 1 \times 10^4\).

См. также

ScalarFormatter.set_scientific
set_scientific(b)[source]

Включить или выключить научную запись.

См. также

ScalarFormatter.set_powerlimits
set_useLocale(val)[source]

Установить, использовать ли настройки локали для десятичного знака и знака плюс.

Параметры:
valbool или None

None сбрасывает до rcParams["axes.formatter.use_locale"] (по умолчанию: False).

set_useMathText(val)[source]

Установить, использовать ли стилизованный математический формат.

При включенном режиме, научная запись форматируется как \(1.2 \times 10^3\).

Параметры:
valbool или None

None сбрасывает до rcParams["axes.formatter.use_mathtext"] (по умолчанию: False).

set_useOffset(val)[source]

Установить, использовать ли обозначение смещения.

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

Параметры:
valbool или float
  • Если False, не использовать обозначение смещения.
  • Если True (=автоматический режим), использовать обозначение смещения, если это может значительно сократить оставшиеся числа. Точное поведение контролируется rcParams["axes.formatter.offset_threshold"] (по умолчанию: 4).
  • Если число, принудительно установить смещение заданного значения.

Примеры

При активном обозначении смещения значения

100_000, 100_002, 100_004, 100_006, 100_008

будут отформатированы как 0, 2, 4, 6, 8 плюс смещение +1e5, которое записывается на край оси.

свойствоuseLocale

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

См. также

ScalarFormatter.set_useLocale
свойствоuseMathText

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

См. также

ScalarFormatter.set_useMathText
свойствоuseOffset

Возвращает, включен ли автоматический режим для обозначения смещения.

Возвращает True, если set_useOffset(True); возвращает False, если смещение было установлено явно, например, set_useOffset(1000).

См. также

ScalarFormatter.set_useOffset
классmatplotlib.ticker.StrMethodFormatter(fmt)[source]

Базовый класс: Formatter

Используйте строковый шаблон нового стиля (как используется в str.format) для форматирования метки.

Поле, используемое для значения метки, должно быть помечено x, а поле, используемое для позиции метки, должно быть помечено pos.

классmatplotlib.ticker.SymmetricalLogLocator(transform=None, subs=None, linthresh=None, base=None)[source]

Базовый класс: Locator

Определение расположения меток для симметричных логарифмических осей.

Параметры:
transformSymmetricalLogTransform, необязательно

Если задано, определяет основу и linthresh симметричного логарифмического преобразования.

base, linthreshfloat, необязательно

Основание и linthresh симметричного логарифмического преобразования, как документировано для SymmetricalLogScale. Эти параметры используются только в случае, если transform не задан.

subsпоследовательность float, по умолчанию: [1]

Множители целых степеней основания, где размещаются метки, т. е., метки размещаются в [sub * base**i for i in ... for sub in subs].

Замечания

Должен быть задан либо transform, либо оба base и linthresh.

set_params(subs=None, numticks=None)[source]

Установка параметров внутри локатора.

tick_values(vmin, vmax)[source]

Возвращает значения размещаемых меток, заданных vmin и vmax.

Примечание

Чтобы получить расположение меток со значениями vmin и vmax, определенными автоматически для связанной axis, просто вызовите экземпляр Locator:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(vmin, vmax)[source]

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

classmatplotlib.ticker.TickHelper[source]

Bases: object

axis=None
create_dummy_axis(**kwargs)[source]
set_axis(axis)[source]
Inheritance diagram of matplotlib.ticker

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

Spec-Zone.ru

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