Spec-Zone.ru › Matplotlib

matplotlib.ticker

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

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

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

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

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

Подклассы Locator, определенные здесь, следующие:

AutoLocator

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

MaxNLocator

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

LinearLocator

Размещает деления равномерно от min до max.

LogLocator

Размещает деления логарифмически от min до max.

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

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

Bases: MaxNLocator

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

Это подкласс MaxNLocator с параметрами nbins = 'auto' и steps = [1, 2, 2.5, 5, 10].

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

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

Bases: Locator

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

Масштаб оси должен быть линейным с равномерно расположенными основными метками.

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

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

tick_values(vmin, vmax)[source]

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

Примечание

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

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

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

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

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

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

>>> format_eng(0)        # for self.places = 0
'0'
>>> format_eng(1000000)  # for self.places = 1
'1.0 M'
>>> format_eng(-1e-6)  # for self.places = 2
'-1.00 µ'
get_useMathText()[source]
get_usetex()[source]
set_useMathText(val)[source]
set_usetex(val)[source]
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, деления размещаются во всех значениях. В противном случае, массив locs возможных позиций будет подвергнут подвыборке, чтобы количество делений было меньше или равно \(nbins* +1\). Подвыборка будет выполнена так, чтобы включить наименьшее по абсолютному значению; например, если ноль включён в массив возможных значений, то он будет включён в выбранные деления.

set_params(nbins=None)[source]

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

tick_values(vmin, vmax)[source]

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

Примечание

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

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

Базы: Formatter

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

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

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

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

Базы: TickHelper

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

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

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

format_data(value)[source]

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

format_data_short(value)[source]

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

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

format_ticks(values)[source]

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

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

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

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

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

Базы: Formatter

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

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

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

Базы: Locator

Размещайте отметки на каждом n-ом нарисованном элементе.

IndexLocator предполагает построение индексов; то есть, что отметки размещаются в целочисленных значениях в диапазоне от 0 до len(data) включительно.

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

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

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

tick_values(vmin, vmax)[source]

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

Примечание

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

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

Bases: Locator

Размещает метки на равномерно распределённых значениях.

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

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

Количество меток. Если None, numticks = 11.

presetsсловарь или None, по умолчанию: None

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

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

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

tick_values(vmin, vmax)[source]

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

Примечание

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

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

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

classmatplotlib.ticker.Locator[source]

Bases: TickHelper

Определяет позиции меток.

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

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

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

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

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

Выводит предупреждение уровня WARNING, если locs длиннее Locator.MAXTICKS.

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

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

set_params(**kwargs)[source]

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

tick_values(vmin, vmax)[source]

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

Примечание

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

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

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

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

END_OF_DOCUMENT_MARKER
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).

format_data(value)[source]

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

format_data_short(value)[source]

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

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

set_base(base)[source]

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

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

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

set_label_minor(labelOnlyBase)[source]

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

Параметры:
labelOnlyBasebool

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

set_locs(locs=None)[source]

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

Параметр locs игнорируется в данной реализации алгоритма.

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

Bases: LogFormatter

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

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

Bases: LogFormatter

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

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

Bases: LogFormatterMathtext

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

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

Bases: Locator

Размещает отметки с логарифмически равномерным интервалом.

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

Parameters:
basefloat, default: 10.0

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

subsNone or {'auto', 'all'} or sequence of float, default: (1.0,)

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

numticksNone or int, default: None

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

nonsingular(vmin, vmax)[source]

Настройка диапазона, если это необходимо, для избежания особенностей.

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

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

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

Примечания

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

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

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

tick_values(vmin, vmax)[source]

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

Примечание

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

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

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

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

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

format_data_short(value)[source]

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

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

set_locs(locs)[source]

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

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

set_minor_number(minor_number)[source]

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

Параметры:
minor_numberint

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

set_minor_threshold(minor_threshold)[source]

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

Параметры:
minor_thresholdint

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

set_one_half(one_half)[source]

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

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

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

use_overline(use_overline)[source]

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

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

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

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

Bases: MaxNLocator

Размещает деления, равномерно распределённые на логарифмической шкале.

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

Количество делений. Используется только если minor равен False.

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

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

propertyminor
nonsingular(vmin, vmax)[source]

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

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

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

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

tick_values(vmin, vmax)[source]

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

Примечание

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

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

Bases: Locator

Размещает равномерно распределённые деления с ограничением на общее количество делений.

Находит удобные места для делений, с не более чем \(nbins + 1\) делениями в пределах отображаемого диапазона. Размещения за пределами диапазона добавляются для поддержки автоматического масштабирования.

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

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

stepsпоследовательность, необязательно

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

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

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

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

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

prune{'нижний', 'верхний', 'оба', None}, по умолчанию: None

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

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

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

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

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

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

см. MaxNLocator

stepsпоследовательность, необязательно

см. MaxNLocator

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

см. MaxNLocator

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

см. MaxNLocator

prune{'нижний', 'верхний', 'оба', 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, offset=0.0)[source]

Bases: Locator

Размещает деления на каждом целом кратном значении базового значения плюс смещение.

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

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

offsetfloat

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

Добавлен в версии 3.8.

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

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

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

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

offsetfloat

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

Добавлен в версии 3.8.

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

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

класс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 (по умолчанию), количество десятичных знаков вычисляется автоматически.

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]

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

Если display_range равно 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

Основы: Formatter

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

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

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

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

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

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

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

Примечания

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

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

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

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

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

(Source code, 2x.png, png)

format_data(value)[source]

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

format_data_short(value)[source]

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

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

get_offset()[source]

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

get_useLocale()[source]

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

См. также

ScalarFormatter.set_useLocale
get_useMathText()[source]

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

См. также

ScalarFormatter.set_useMathText
get_useOffset()[source]

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

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

См. также

ScalarFormatter.set_useOffset
set_locs(locs)[source]

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

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

set_powerlimits(lims)[source]

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

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

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

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

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

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

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

См. также

ScalarFormatter.set_scientific
set_scientific(b)[source]

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

См. также

ScalarFormatter.set_powerlimits
set_useLocale(val)[source]

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

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

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

set_useMathText(val)[source]

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

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

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

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

set_useOffset(val)[source]

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

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

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

Примеры

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

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

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

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]

Bases: Formatter

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

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

Форматировщик будет учитывать rcParams["axes.unicode_minus"] (по умолчанию True) при форматировании отрицательных числовых значений.

Обычно нет необходимости явно создавать объекты StrMethodFormatter, так как set_major_formatter принимает сам строковый формат.

classmatplotlib.ticker.SymmetricalLogLocator(transform=None, subs=None, linthresh=None, base=None)[source]

Bases: Locator

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

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

Если задано, определяет base и linthresh симлог-преобразования.

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

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

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

classmatplotlib.ticker.TickHelper[source]

Bases: object

axis=None
create_dummy_axis(**kwargs)[source]
set_axis(axis)[source]

Схема наследования matplotlib.ticker

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

Spec-Zone.ru

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