Spec-Zone.ru › Matplotlib 3.6

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

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

subsкортеж, по умолчанию: 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 просто вызовите экземпляр Locator:

>>> 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, оно будет установлено в 5 или 4.

tick_values(vmin, vmax)[source]

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

Примечание

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

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

Bases: Formatter

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

Parameters:
unitstr, default: ""

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

placesint, default: None

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

sepstr, default: " "

Разделитель, используемый между значением и префиксом/единицей. Например, вы получите '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, default: rcParams["text.usetex"] (по умолчанию: False)

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

useMathTextbool, default: 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]
propertyuseMathText
propertyusetex
classmatplotlib.ticker.FixedFormatter(seq)[source]

Bases: Formatter

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

Примечание

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

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

get_offset()[source]
set_offset_string(ofs)[source]
classmatplotlib.ticker.FixedLocator(locs, nbins=None)[source]

Bases: Locator

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

set_params(nbins=None)[source]

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

tick_values(vmin, vmax)[source]

Возвращает места размещения делений.

Примечание

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

classmatplotlib.ticker.FormatStrFormatter(fmt)[source]

Bases: Formatter

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

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

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

classmatplotlib.ticker.Formatter[source]

Bases: TickHelper

Создание строки на основе значения и позиции деления.

staticfix_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]

Устанавливает места размещения делений.

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

classmatplotlib.ticker.FuncFormatter(func)[source]

Bases: Formatter

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

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

get_offset()[source]
set_offset_string(ofs)[source]
classmatplotlib.ticker.IndexLocator(base, offset)[source]

Bases: 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]
classmatplotlib.ticker.LinearLocator(numticks=None, presets=None)[source]

Bases: Locator

Определяет расположения меток

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

Используйте наборы параметров, чтобы установить расположения locs на основе lom. Словарь, сопоставляющий vmin, vmax->locs

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]

Выводит сообщение об ошибке уровня WARNING, если locs длиннее, чем Locator.MAXTICKS.

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

«Странное» имя этого метода уходит корнями в то время, когда он вместо этого поднимал исключение.

set_params(**kwargs)[source]

Ничего не делает и выводит предупреждение. Любой класс Locator, не поддерживающий функцию 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). Это значение по умолчанию для стиля "classic".

Примеры

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

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

base(base)[source]

[Устарело] Изменить base для маркировки.

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

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

Примечания

Устарело начиная с версии 3.6: Используйте set_base() вместо этого.

format_data(value)[source]

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

format_data_short(value)[source]

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

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

label_minor(labelOnlyBase)[source]

[Устарело] Включение или отключение отображения вспомогательных делений.

Параметры:
labelOnlyBasebool

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

Примечания

Устарело начиная с версии 3.6: Используйте set_label_minor() вместо этого.

set_base(base)[source]

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

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

Должно всегда соответствовать основанию, используемому для 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=4, numticks=None)[source]

Bases: Locator

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

Размещение меток в позициях: subs[j] * base**i

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

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

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

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

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

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

base(base)[source]

[Устаревшее] Установка основания логарифма (основная метка через base**i, i целое число).

Примечания

Устарело начиная с версии 3.6: Используйте set_params(base=...) вместо этого.

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].

Примечания

Устарело начиная с версии 3.6: Используйте set_params(subs=...) вместо этого.

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

Находит удобные метки с не более чем 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{'нижний', 'верхний', 'оба', 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{'нижний', 'верхний', 'оба', 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.

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

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

Bases: Locator

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

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]

Устанавливает пределы отображения до ближайших кратных основанию, содержащих данные.

classmatplotlib.ticker.NullFormatter[source]

Bases: Formatter

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

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

Базы: Locator

Нет делений

tick_values(vmin, vmax)[source]

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

Примечание

Поскольку значения нулевые, 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 или пустой, чтобы указать, что символ использовать не нужно. Специальные символы 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]

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

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

propertyuseLocale

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

См. также

ScalarFormatter.set_useLocale
propertyuseMathText

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

См. также

ScalarFormatter.set_useMathText
propertyuseOffset

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

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

См. также

ScalarFormatter.set_useOffset
classmatplotlib.ticker.StrMethodFormatter(fmt)[source]

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

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

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

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

>>> 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]

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

Примечания

Устаревшее начиная с версии 3.5: Используйте Axis.set_view_interval и Axis.set_data_interval вместо этого.

set_data_interval(vmin, vmax)[source]

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

Примечания

Устаревшее начиная с версии 3.5: Используйте Axis.set_data_interval вместо этого.

set_view_interval(vmin, vmax)[source]

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

Примечания

Устаревшее начиная с версии 3.5: Используйте Axis.set_view_interval вместо этого.

Inheritance diagram of matplotlib.ticker

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

Spec-Zone.ru

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