Spec-Zone.ru › Matplotlib 3.5

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, если внутри пределов.

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.AutoLocator[source]

Bases: matplotlib.ticker.MaxNLocator

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

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

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

Bases: matplotlib.ticker.Locator

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

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

Если n опущено или равно None, оно будет установлено в 5 или 4.

tick_values(vmin, vmax)[source]

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

Примечание

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

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

Базы: matplotlib.ticker.Formatter

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

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

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

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

Bases: matplotlib.ticker.Locator

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

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

Используйте параметры presets для установки 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: matplotlib.ticker.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.

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

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

set_params(**kwargs)[source]

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

tick_values(vmin, vmax)[source]

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

Примечание

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

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

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

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

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

Bases: matplotlib.ticker.Formatter

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

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

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

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

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

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

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

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

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

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

Примечания

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

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

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

Примеры

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

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

base(base)[source]

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

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

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

format_data(value)[source]

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

format_data_short(value)[source]

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

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

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: matplotlib.ticker.LogFormatter

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

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

Bases: matplotlib.ticker.LogFormatter

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

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

Bases: matplotlib.ticker.LogFormatterMathtext

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

classmatplotlib.ticker.LogLocator(base=10.0, subs=(1.0,), numdecs=4, numticks=None)[source]

Bases: 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), будет использоваться интеллектуальный выбор, если данный локейтор уже назначен оси с помощью 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 просто вызовите экземпляр 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='\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$.

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

Bases: matplotlib.ticker.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: 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.

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

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

Bases: matplotlib.ticker.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]

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

classmatplotlib.ticker.NullFormatter[source]

Bases: matplotlib.ticker.Formatter

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

classmatplotlib.ticker.NullLocator[source]

Bases: matplotlib.ticker.Locator

Без делений

tick_values(vmin, vmax)[source]

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

Примечание

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

classmatplotlib.ticker.PercentFormatter(xmax=100, decimals=None, symbol='%', is_latex=False)[source]

Bases: 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%

...

...

...

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

propertysymbol

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

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

classmatplotlib.ticker.ScalarFormatter(useOffset=None, useMathText=None, useLocale=None)[source]

Базы: matplotlib.ticker.Formatter

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

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

Использовать ли обозначение смещения. См. 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, которое выводится на край оси.

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]

Базируется на matplotlib.ticker.Formatter

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

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

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

Базируется на 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]

Попытка выбрать границы отображения разумно.

classmatplotlib.ticker.TickHelper[source]

Bases: object

axis=None
create_dummy_axis(**kwargs)[source]
set_axis(axis)[source]
set_bounds(vmin, vmax)[source]

[Устарело]

Примечания

Устарело начиная с версии 3.5:

set_data_interval(vmin, vmax)[source]

[Устарело]

Примечания

Устарело начиная с версии 3.5:

set_view_interval(vmin, vmax)[source]

[Устарело]

Примечания

Устарело начиная с версии 3.5:

Inheritance diagram of matplotlib.ticker

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

Spec-Zone.ru

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