Spec-Zone.ru › Matplotlib 3.4

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.

END_OF_DOCUMENT_MARKER
класс 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]
END_OF_DOCUMENT_MARKER
класс 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]
END_OF_DOCUMENT_MARKER

Основы: 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)

../_images/ticker_api-1.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, которое записывается на краю оси.

property useLocale

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

См. также

ScalarFormatter.set_useLocale
property useMathText

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

См. также

ScalarFormatter.set_useMathText
property useOffset

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

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

См. также

ScalarFormatter.set_useOffset
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

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

Параметры:
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 просто вызовите экземпляр локетора:

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

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

класс 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]
Inheritance diagram of matplotlib.ticker

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

Spec-Zone.ru

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