matplotlib.ticker
Поиск и форматирование делений шкалы
Этот модуль содержит классы для настройки поиска и форматирования делений шкалы. Предоставляются общие поисковики и форматировщики делений, а также специализированные для конкретных областей.
Хотя поисковики не знают о главных или второстепенных делениях, они используются классом Axis для поддержки поиска и форматирования главных и второстепенных делений.
Поиск делений
Класс Locator является базовым классом для всех поисковиков делений. Поисковики обрабатывают автоматическое масштабирование пределов отображения на основе пределов данных и выбор положений делений. Полезным полуавтоматическим поисковиком делений является MultipleLocator. Он инициализируется основанием, например, 10, и выбирает пределы осей и деления, которые являются кратными этому основанию.
Подклассы Locator, определённые здесь:
AutoLocator-
MaxNLocatorс простыми значениями по умолчанию. Это по умолчанию поисковик делений для большинства графиков. MaxNLocator- Находит до максимального числа интервалов с делениями в удобных местах.
LinearLocator- Деления распределяются равномерно от минимума до максимума.
LogLocator- Деления распределяются логарифмически от минимума до максимума.
MultipleLocator- Деления и диапазон кратны основанию; могут быть целыми или дробными числами.
FixedLocator- Положения делений фиксированы.
IndexLocator- Поисковик делений для графиков с индексами (например, где
x = range(len(y))). NullLocator- Без делений.
SymmetricalLogLocator- Поисковик делений для использования с функцией symlog; работает как
LogLocatorдля части вне порога и добавляет 0, если значение внутри пределов. LogitLocator- Поисковик делений для логарифмической шкалы.
OldAutoLocator- Выбирает
MultipleLocatorи динамически переназначает его для интеллектуального поиска делений при навигации. 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- Нет меток на делениях.
IndexFormatter- Устанавливает строки из списка меток.
FixedFormatter- Ручное задание строк для меток.
FuncFormatter- Пользовательская функция устанавливает метки.
StrMethodFormatter- Использование метода строковой форматирования.
FormatStrFormatter- Использование старого метода форматирования строк sprintf.
ScalarFormatter- Форматировщик по умолчанию для скалярных величин: автоматический выбор форматирования строк.
LogFormatter- Форматировщик для логарифмических осей.
LogFormatterExponent- Форматирование значений для логарифмической оси с использованием экспоненциальной формы.
LogFormatterMathtext- Форматирование значений для логарифмической оси с использованием Mathtext.
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 вход будет внутренне заменён автоматически сгенерированным StrMethodFormatter с введённым str. Для функции вход будет сгенерирован FuncFormatter с указанной функцией.
См. Главные и второстепенные деления для примера установки главных и второстепенных делений. См. модуль matplotlib.dates для получения дополнительной информации и примеров использования поисковиков и форматировщиков дат.
- class
matplotlib.ticker.AutoLocator[source] -
Bases:
matplotlib.ticker.MaxNLocatorДинамически находит положения главных делений. Фактически, это подкласс
MaxNLocatorс параметрами nbins = 'auto' и steps = [1, 2, 2.5, 5, 10].Для получения значений закрытых параметров обратитесь к значениям по умолчанию для
MaxNLocator.
- класс
matplotlib.ticker.AutoMinorLocator(n=None)[source] -
Базы:
matplotlib.ticker.LocatorДинамически находит позиции мелких делений, основанные на позициях основных делений. Масштаб должен быть линейным с равномерно расположенными основными делениями.
n — количество подразделений интервала между основными делениями; например, n=2 разместит одно малое деление посередине между основными.
Если n опущено или равно None, оно будет установлено в 5 или 4.
-
tick_values(vmin, vmax)[source] -
Возвращает значения расположенных делений, заданных vmin и vmax.
Примечание
Чтобы получить метки делений с автоматически заданными значениями vmin и vmax для соответствующего
axis, просто вызовите экземпляр Locator:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
-
- класс
matplotlib.ticker.EngFormatter(unit='', places=None, sep=' ', *, usetex=None, useMathText=None)[source] -
Базы:
matplotlib.ticker.FormatterФорматирует значения осей, используя инженерные префиксы для представления степеней 1000, плюс указанный символ единицы, например, 10 МГц вместо 1e7.
Параметры: - unitstr, по умолчанию: ""
-
Символ единицы для использования, подходящий для однобуквенных представлений степеней 1000. Например, 'Hz' или 'm'.
- placesint, по умолчанию: None
-
Точность отображения числа, заданная в цифрах после десятичной точки (будет от одной до трех цифр перед десятичной точкой). Если None, форматирование возвращается к формату с плавающей точкой '%g', который отображает до 6 значимых цифр, т. е. эквивалентное значение для places изменяется от 0 до 5 включительно.
- sepstr, по умолчанию: " "
-
Разделитель, используемый между значением и префиксом/единицей. Например, '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= {-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'}
-
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] -
Базы:
matplotlib.ticker.FormatterВозвращает фиксированные строки для меток делений, основанные только на позиции, а не на значении.
Примечание
FixedFormatterследует использовать только вместе сFixedLocator. В противном случае метки могут оказаться в неожиданных позициях.Устанавливает последовательность seq строк, которые будут использоваться для меток.
-
get_offset()[source]
-
set_offset_string(ofs)[source]
-
- класс
matplotlib.ticker.FixedLocator(locs, nbins=None)[source] -
Базы:
matplotlib.ticker.LocatorПозиции делений фиксированы. Если nbins не равно None, массив возможных позиций будет подвыборочно отображаться, чтобы количество делений было <= nbins +1. Подвыборка будет выполнена таким образом, чтобы включить наименьшее по модулю значение; например, если ноль включен в массив возможностей, то гарантируется, что он будет одной из выбранных меток.
-
set_params(nbins=None)[source] -
Настройка параметров в этом локаторе.
-
tick_values(vmin, vmax)[source] -
Возвращает позиции делений.
Примечание
Поскольку значения фиксированы, vmin и vmax в этом методе не используются.
-
- класс
matplotlib.ticker.FormatStrFormatter(fmt)[source] -
Базы:
matplotlib.ticker.FormatterИспользуйте строку форматирования старого стиля ('% оператор') для форматирования метки.
Строка форматирования должна содержать один формат переменной (%) в ней. Она будет применяться к значению (а не к позиции) метки.
Отрицательные числовые значения будут использовать тире, а не символ unicode минус. Используйте mathtext, чтобы получить символ unicode минус, обернув спецификатор формата в $ (например, "$%g$").
- класс
matplotlib.ticker.Formatter[source] -
Базы:
matplotlib.ticker.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] -
Базы:
matplotlib.ticker.FormatterИспользуйте функцию, определенную пользователем, для форматирования.
Функция должна принимать два входных значения (значение метки
xи позициюpos) и возвращать строку, содержащую соответствующую метку.-
get_offset()[source]
-
set_offset_string(ofs)[source]
-
- класс
matplotlib.ticker.IndexFormatter(labels)[source] -
Базы:
matplotlib.ticker.Formatter[Устаревшее] Отформатируйте позицию x до ближайшей i-й метки, где
i = int(x + 0.5). Позиции, гдеi < 0илиi > len(list)не имеют меток.Параметры: - labelsсписок
-
Список меток.
Замечания
Устарело начиная с версии 3.3.
- класс
matplotlib.ticker.IndexLocator(base, offset)[source] -
Базы:
matplotlib.ticker.LocatorПоместить метку на каждом кратном значению некоторого базового числа нарисованных точек, например, на каждой пятой точке. Предполагается, что вы занимаетесь индексным построением; т.е. ось — это 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]
-
- класс
matplotlib.ticker.LinearLocator(numticks=None, presets=None)[source] -
Базы:
matplotlib.ticker.LocatorОпределение местоположения делений шкалы
В первый раз, когда эта функция вызывается, она пытается установить количество делений для красивого разделения шкалы. В дальнейшем количество делений фиксируется, чтобы обеспечить удобную интерактивную навигацию.
Используйте значения presets для задания locs на основе lom. Словарь, отображающий vmin, vmax->locs
- свойство
numticks
-
set_params(numticks=None, presets=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] -
Попытка интеллектуального выбора пределов отображения.
- свойство
- класс
matplotlib.ticker.Locator[source] -
Базы:
matplotlib.ticker.TickHelperОпределение местоположения делений;
Обратите внимание, что один и тот же локатор не должен использоваться для нескольких
Axis, потому что локатор хранит ссылки на данные осей и пределы отображения.-
MAXTICKS= 1000
-
nonsingular(v0, v1)[source] -
Корректировка диапазона, если необходимо, чтобы избежать особенностей.
Этот метод вызывается во время автоматического масштабирования с
(v0, v1)устанавливаемым в пределы данных на осях, если оси содержат данные, или(-inf, +inf)в противном случае.- Если
v0 == v1(возможно, с учетом некоторого отклонения с плавающей точкой), этот метод возвращает расширенный интервал вокруг этого значения. - Если
(v0, v1) == (-inf, +inf), этот метод возвращает соответствующие предельные значения отображения. - В противном случае,
(v0, v1)возвращается без изменений.
- Если
-
pan(numsteps)[source] -
[Устаревшее] Перемещение по осям на numticks (может быть положительным или отрицательным)
Примечания
Устарело начиная с версии 3.3.
-
raise_if_exceeds(locs)[source] -
Выводит сообщение об ошибке уровня WARNING, если locs длиннее, чем
Locator.MAXTICKS.Это предназначено для вызова непосредственно перед возвратом locs из
__call__, чтобы уведомить пользователей в случае, если их локатор возвращает огромное количество делений, что может привести к недостатку памяти в Matplotlib.«Странное» имя этого метода восходит к временам, когда он вместо этого поднимал исключение.
-
refresh()[source] -
[Устаревшее] Обновить внутреннюю информацию на основе текущих пределов.
Примечания
Устарело начиная с версии 3.3.
-
set_params(**kwargs)[source] -
Не делает ничего и выводит предупреждение. Любой класс локатора, не поддерживающий функцию set_params(), вызовет это.
-
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] -
Выбрать масштаб для диапазона от vmin до vmax.
Подклассы должны переопределять этот метод, чтобы изменить поведение локатора.
-
zoom(direction)[source] -
[Устаревшее] Масштабирование оси; если направление >0, масштабировать в большем масштабе, в противном случае - в меньшем.
Примечания
Устарело начиная с версии 3.3.
-
- класс
matplotlib.ticker.LogFormatter(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source] -
Базовый класс для форматирования делений на логарифмической или симметрично-логарифмической шкале.
Его можно создать напрямую или наследовать.
Параметры: - basefloat, по умолчанию: 10.
-
Основание логарифма, используемое во всех вычислениях.
- labelOnlyBasebool, по умолчанию: False
-
Если True, метки помещаются только для целых степеней основания. Обычно True для основных делений и False для дополнительных.
- minor_thresholds(подмножество, все), по умолчанию: (1, 0.4)
-
Если labelOnlyBase False, эти два числа управляют метками делений, которые не являются целыми степенями основания; обычно это дополнительные деления. Управляющим параметром является логарифм диапазона данных оси. В типичном случае, когда base равно 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).-
base(base)[source] -
Изменить base для метки.
Предупреждение
Всегда должно соответствовать основанию, используемому для
LogLocator
-
format_data(value)[source] -
Возвращает полное строковое представление значения без указания позиции.
-
format_data_short(value)[source] -
Возвращает короткое строковое представление значения деления.
По умолчанию соответствует длинному значению, не зависящему от позиции.
-
label_minor(labelOnlyBase)[source] -
Включает или отключает метки дополнительных делений.
Параметры: - labelOnlyBasebool
-
Если True, метки помещаются только для целых степеней основания.
-
set_locs(locs=None)[source] -
Использует пределы отображения оси для управления метками делений.
Параметр locs игнорируется в текущем алгоритме.
- класс
matplotlib.ticker.LogFormatterExponent(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source] -
Базовый класс:
matplotlib.ticker.LogFormatterФорматирует значения для логарифмической оси, используя
exponent = log_base(value).
- класс
matplotlib.ticker.LogFormatterMathtext(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source] -
Базовый класс:
matplotlib.ticker.LogFormatterФорматирует значения для логарифмической оси, используя
exponent = log_base(value).
- класс
matplotlib.ticker.LogFormatterSciNotation(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source] -
Базовый класс:
matplotlib.ticker.LogFormatterMathtextФорматирует значения, следуя научной записи, на логарифмической оси.
- класс
matplotlib.ticker.LogLocator(base=10.0, subs=(1.0), numdecs=4, numticks=None)[source] -
Основы:
matplotlib.ticker.LocatorОпределение расположения делений для логарифмических осей
Размещение делений в позициях : subs[j] * base**i
Параметры: - basefloat, по умолчанию: 10.0
-
Основание логарифма, используемое для размещения делений в позициях
base**n. - subsNone или str или последовательность float, по умолчанию: (1.0,)
-
Определяет кратные целым степеням основания, на которых необходимо разместить деления. По умолчанию деления размещаются только на целых степенях основания. Допустимые строковые значения
'auto'и'all', оба из которых используют алгоритм, основанный на ограничениях области просмотра оси, для определения того, нужно ли и как размещать деления между целыми степенями основания. С'auto', деления размещаются только между целыми степенями; с'all', включаются и целые степени. Значение None эквивалентно'auto'. - numticksNone или int, по умолчанию: None
-
Максимальное количество делений, разрешенное на данной оси. Значение по умолчанию
Noneбудет пытаться выбрать разумное значение, пока этот локатоp уже назначен на ось с помощьюget_tick_space, в противном случае возвращается к 9.
-
base(base)[source] -
Устанавливает основание логарифма (главное деление каждые
base**i, i целое).
-
nonsingular(vmin, vmax)[source] -
Корректирует диапазон по необходимости, чтобы избежать особенностей.
Этот метод вызывается во время автоматического масштабирования, с
(v0, v1)установленными на пределы данных на осях, если ось содержит какие-либо данные, или(-inf, +inf)если нет.- Если
v0 == v1(возможно, с некоторой погрешностью с плавающей точкой), этот метод возвращает расширенный интервал вокруг этого значения. - Если
(v0, v1) == (-inf, +inf), этот метод возвращает соответствующие пределы области просмотра по умолчанию. - В противном случае,
(v0, v1)возвращается без изменений.
- Если
-
set_params(base=None, subs=None, numdecs=None, numticks=None)[source] -
Устанавливает параметры в этом локаторе.
-
subs(subs)[source] -
Устанавливает второстепенные деления для логарифмической шкалы каждые
base**i*subs[j].
-
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] -
Попытаться разумно выбрать пределы области просмотра.
- класс
matplotlib.ticker.LogitFormatter(*, use_overline=False, one_half='\x0crac{1}{2}', minor=False, minor_threshold=25, minor_number=6)[source] -
Bases:
matplotlib.ticker.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$.
- класс
matplotlib.ticker.LogitLocator(minor=False, *, nbins='auto')[source] -
Bases:
matplotlib.ticker.MaxNLocatorОпределяет расположения меток для осей logit
Размещает метки на логарифмических позициях
Параметры: - nbinsint или 'auto', необязательно
-
Количество меток. Используется только если minor = False.
- minorbool, по умолчанию: False
-
Указывает, предназначен ли этот локатор для вспомогательных меток или нет.
- свойство
minor
-
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]
- класс
matplotlib.ticker.MaxNLocator(*args, **kwargs)[source] -
Базы:
matplotlib.ticker.LocatorНахождение подходящих позиций делений с не более чем N делениями в пределах границ отображения. Позиции, выходящие за пределы границ, добавляются для поддержки автоматического масштабирования.
Параметры: - nbinsint или 'auto', по умолчанию: 10
-
Максимальное количество интервалов; на одно меньше, чем максимальное количество делений. Если строка 'auto', количество интервалов будет автоматически определено на основе длины оси.
- stepsпоследовательность, необязательно
-
Последовательность приятных чисел, начиная с 1 и заканчивая 10; например, [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
-
Удаление крайних делений — полезно для стопки или связанных графиков, где верхнее деление одной оси перекрывает нижнее деление вышестоящей оси, в основном когда
rcParams["axes.autolimit_mode"](по умолчанию:'data') является'round_numbers'. Еслиprune=='lower', будет удалено самое маленькое деление. Еслиprune == 'upper', будет удалено самое большое деление. Еслиprune == 'both', будут удалены самые большие и самые маленькие деления. Если prune равно None, деления не будут удалены. - 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, просто вызовите экземпляр лоцировщика:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
-
view_limits(dmin, dmax)[source] -
Выбор масштаба для диапазона от vmin до vmax.
Подклассы должны переопределять этот метод, чтобы изменить поведение лоцировщика.
- класс
matplotlib.ticker.MultipleLocator(base=1.0)[source] -
Базы:
matplotlib.ticker.LocatorУстановка деления на каждом целочисленном кратном base в пределах интервала отображения.
-
set_params(base)[source] -
Установить параметры в рамках этого лоцировщика.
-
tick_values(vmin, vmax)[source] -
Возвращает значения размещенных делений, заданные vmin и vmax.
Примечание
Чтобы получить позиции делений с автоматически определенными значениями vmin и vmax для соответствующего
axis, просто вызовите экземпляр лоцировщика:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
-
view_limits(dmin, dmax)[source] -
Установить пределы отображения до ближайших кратных base, содержащих данные.
-
- класс
matplotlib.ticker.NullFormatter[source] -
Базы:
matplotlib.ticker.FormatterВсегда возвращает пустую строку.
- класс
matplotlib.ticker.NullLocator[source] -
Базы:
matplotlib.ticker.LocatorНет делений.
-
tick_values(vmin, vmax)[source] -
Возвращает расположения делений.
Примечание
Поскольку значения нулевые, vmin и vmax в этом методе не используются.
-
- класс
matplotlib.ticker.OldAutoLocator(*args, **kwargs)[source] -
Базы:
matplotlib.ticker.Locator[Устаревшее] При автоматическом масштабировании этот класс выбирает лучший MultipleLocator для установки пределов отображения и расположения делений.
Замечания
Устарело начиная с версии 3.3.
-
get_locator(d)[source] -
Выбор лучшего локетора на основе расстояния d.
-
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.
Подклассы должны переопределять этот метод для изменения поведения локетора.
-
- класс
matplotlib.ticker.OldScalarFormatter(*args, **kwargs)[source] -
Базы:
matplotlib.ticker.Formatter[Устаревшее] Расположение делений — обычное число.
Замечания
Устарело начиная с версии 3.3.
- класс
matplotlib.ticker.PercentFormatter(xmax=100, decimals=None, symbol='%', is_latex=False)[source] -
Базы:
matplotlib.ticker.FormatterФорматирование чисел в виде процента.
Параметры: - xmaxfloat
-
Определяет, как число преобразуется в процент. xmax — значение данных, соответствующее 100%. Проценты вычисляются как
x / xmax * 100. Таким образом, если данные уже масштабированы до процентов, xmax будет равен 100. Другая распространённая ситуация — когда xmax равен 1,0. - decimalsNone или int
-
Количество десятичных знаков после запятой. Если None (по умолчанию), количество знаков вычисляется автоматически.
- symbolstr или None
-
Строка, которая будет добавлена к метке. Может быть None или пустой, чтобы указать, что символ не должен использоваться. Специальные символы LaTeX в 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]
-
Основы:
matplotlib.ticker.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.(Исходный код, png, pdf)
-
format_data(value)[source] -
Возвращает полное строковое представление значения без указания позиции.
-
format_data_short(value)[source] -
Возвращает короткое строковое представление значения тика.
По умолчанию возвращает длинное представление значения без указания позиции.
-
get_offset()[source] -
Возвращает научную запись плюс смещение.
-
get_useLocale()[source] -
Возвращает, используется ли для форматирования параметры локали.
См. также
-
get_useMathText()[source] -
Возвращает, используется ли для форматирования математическое форматирование.
См. также
-
get_useOffset()[source] -
Возвращает, включен ли автоматический режим для обозначения смещения.
Возвращает True, если
set_useOffset(True); возвращает False, если смещение было задано явно, напримерset_useOffset(1000).См. также
-
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\).
См. также
-
set_scientific(b)[source] -
Включает или выключает научную запись.
См. также
-
set_useLocale(val)[source] -
Устанавливает, использовать ли настройки локали для разделителя десятичных знаков и знака плюс.
Параметры: - valbool или None
-
None сбрасывает значение до
rcParams["axes.formatter.use_locale"](по умолчанию:False).
-
useOffsetbool или float, по умолчанию:
-
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, которое записывается на краю оси.
- property
useLocale -
Возвращает, используются ли настройки локали для форматирования.
См. также
- property
useMathText -
Возвращает, используется ли форматирование математических выражений.
См. также
- property
useOffset -
Возвращает, активен ли автоматический режим обозначения смещения.
Возвращает True, если
set_useOffset(True); возвращает False, если было задано явное смещение, например,set_useOffset(1000).См. также
-
- class
matplotlib.ticker.StrMethodFormatter(fmt)[source] -
Bases:
matplotlib.ticker.FormatterИспользуйте строковый формат нового стиля (как используется в
str.format) для форматирования метки.Поле, используемое для значения метки, должно быть помечено как x, а поле, используемое для позиции метки, должно быть помечено как pos.
- class
matplotlib.ticker.SymmetricalLogLocator(transform=None, subs=None, linthresh=None, base=None)[source] -
Bases:
matplotlib.ticker.LocatorОпределяет местоположения меток для симметричных логарифмических осей.
Параметры: -
transform
SymmetricalLogTransform, необязательно -
Если задано, определяет основу и 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просто вызовите экземпляр локетора:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
-
view_limits(vmin, vmax)[source] -
Попытка разумно выбрать пределы просмотра.
-
transform
- класс
matplotlib.ticker.TickHelper[source] -
Базовые классы:
object-
axis= None
-
create_dummy_axis(**kwargs)[source]
-
set_axis(axis)[source]
-
set_bounds(vmin, vmax)[source]
-
set_data_interval(vmin, vmax)[source]
-
set_view_interval(vmin, vmax)[source]
-
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/ticker_api.html