Spec-Zone.ru › Matplotlib 3.3

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
Поисковик делений для логарифмической шкалы.
OldAutoLocator
Выбирает MultipleLocator и динамически переопределяет его для интеллектуального поиска делений во время навигации.
AutoMinorLocator
Поисковик дополнительных делений, когда ось линейная, а основные деления равномерно распределены. Разбивает интервал основных делений на заданное число дополнительных интервалов, по умолчанию 4 или 5 в зависимости от интервала основных делений.

Есть ряд поисковиков, специализирующихся на датах — см. модуль dates.

Вы можете определить собственный поисковик, унаследовав от Locator. Вы должны переопределить метод __call__, который возвращает последовательность расположений, и, вероятно, захотите переопределить метод autoscale для установки пределов представления по пределов данных.

Если вы хотите переопределить поисковик по умолчанию, используйте один из вышеперечисленных или пользовательский поисковик и передайте его экземпляру оси x или y. Соответствующие методы:

ax.xaxis.set_major_locator(xmajor_locator)
ax.xaxis.set_minor_locator(xminor_locator)
ax.yaxis.set_major_locator(ymajor_locator)
ax.yaxis.set_minor_locator(yminor_locator)

Поисковик дополнительных делений по умолчанию — NullLocator, т. е. дополнительные деления по умолчанию отсутствуют.

Форматирование делений

Форматирование делений контролируется классами, производными от Formatter. Форматировщик работает с одним значением деления и возвращает строку оси.

NullFormatter
Без меток на делениях.
IndexFormatter
Устанавливает строки из списка меток.
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 для получения дополнительной информации и примеров использования поисковиков и форматировщиков дат.

class matplotlib.ticker.AutoLocator [source]

Базовый класс: matplotlib.ticker.MaxNLocator

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

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

END_OF_DOCUMENT_MARKER
class matplotlib.ticker.AutoMinorLocator(n=None) [source]

Основы: matplotlib.ticker.Locator

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

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

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

tick_values(self, vmin, vmax) [source]

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

Примечание

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

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

Основы: matplotlib.ticker.Formatter

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

Параметры:
unitstr, default: ""

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

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"] (default: False)

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

useMathTextbool, default: rcParams["axes.formatter.use_mathtext"] (default: 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(self, 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(self) [source]
get_usetex(self) [source]
set_useMathText(self, val) [source]
set_usetex(self, val) [source]
property useMathText
property usetex
class matplotlib.ticker.FixedFormatter(seq) [source]

Основы: matplotlib.ticker.Formatter

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

Примечание

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

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

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

Основы: matplotlib.ticker.Locator

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

set_params(self, nbins=None) [source]

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

tick_values(self, vmin, vmax) [source]

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

Примечание

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

class matplotlib.ticker.FormatStrFormatter(fmt) [source]

Основы: matplotlib.ticker.Formatter

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

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

END_OF_DOCUMENT_MARKER
class matplotlib.ticker.Formatter [source]

Bases: matplotlib.ticker.TickHelper

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

static fix_minus(s) [source]

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

format_data(self, value) [source]

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

format_data_short(self, value) [source]

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

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

format_ticks(self, values) [source]

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

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

Устанавливает позиции отметок.

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

class matplotlib.ticker.FuncFormatter(func) [source]

Bases: matplotlib.ticker.Formatter

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

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

get_offset(self) [source]
set_offset_string(self, ofs) [source]
class matplotlib.ticker.IndexFormatter(**kwargs) [source]

Bases: matplotlib.ticker.Formatter

[Устарело] Форматирует позицию x до ближайшей i-й метки, где i = int(x + 0.5). Позиции, где i < 0 или i > len(list) не имеют меток отметок.

Параметры:
labelslist

Список меток.

Примечания

Устарело начиная с версии 3.3.

class matplotlib.ticker.IndexLocator(base, offset) [source]

Bases: matplotlib.ticker.Locator

Размещает отметку на каждом кратном определенному основанию количеству нарисованных точек, например, на каждой пятой точке. Предполагается, что вы выполняете индексный график; т. е., ось имеет значения от 0 до длины данных. Это в основном полезно для меток x.

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

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

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

tick_values(self, vmin, vmax) [source]

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

Примечание

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

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

Bases: matplotlib.ticker.Locator

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

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

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

property numticks
set_params(self, numticks=None, presets=None) [source]

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

tick_values(self, vmin, vmax) [source]

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

Примечание

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

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

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

class matplotlib.ticker.Locator [source]

Bases: matplotlib.ticker.TickHelper

Определяет позиции делений;

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

MAXTICKS = 1000
autoscale(self) [source]

[Устарело] Автоматически масштабирует пределы отображения.

Примечания

Устарело начиная с версии 3.2.

nonsingular(self, v0, v1) [source]

Корректирует диапазон, чтобы избежать особенностей.

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

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

[Устарело] Перемещает numticks (может быть положительным или отрицательным)

Примечания

Устарело начиная с версии 3.3.

raise_if_exceeds(self, locs) [source]

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

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

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

refresh(self) [source]

[Устарело] Обновляет внутреннюю информацию на основе текущих пределов.

Примечания

Устарело начиная с версии 3.3.

set_params(self, **kwargs) [source]

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

tick_values(self, vmin, vmax) [source]

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

Примечание

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

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

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

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

zoom(self, direction) [source]

[Устарело] Приближение/удаление от оси; если направление > 0, приближение, иначе удаление.

Примечания

Устарело начиная с версии 3.3.

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

Bases: matplotlib.ticker.Formatter

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

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

Параметры:
basefloat, default: 10.

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

labelOnlyBasebool, default: False

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

minor_thresholds(subset, all), default: (1, 0.4)

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

linthreshNone or float, default: 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(self, base) [source]

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

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

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

format_data(self, value) [source]

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

format_data_short(self, value) [source]

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

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

label_minor(self, labelOnlyBase) [source]

Включает или отключает метки дополнительных делений.

Параметры:
labelOnlyBasebool

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

set_locs(self, locs=None) [source]

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

Параметр locs игнорируется в текущем алгоритме.

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

Базы: matplotlib.ticker.LogFormatter

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

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

Базы: matplotlib.ticker.LogFormatter

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

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

Базы: matplotlib.ticker.LogFormatterMathtext

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

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

Базы: matplotlib.ticker.Locator

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

Размещение делений на позициях: subs[j] * base**i

Параметры:
subsNone or str or sequence of float, default: (1.0,)

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

base(self, base) [source]

Устанавливает основание логарифма (главное деление каждые base**i, i целое).

nonsingular(self, vmin, vmax) [source]

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

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

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

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

subs(self, subs) [source]

Установка значения дополнительных делений для логарифмической шкалы каждые base**i*subs[j].

tick_values(self, vmin, vmax) [source]

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

Примечание

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

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

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

class matplotlib.ticker.LogitFormatter(*, use_overline=False, one_half='\x0crac{1}{2}', minor=False, minor_threshold=25, minor_number=6) [source]

Базы: matplotlib.ticker.Formatter

Форматировщик вероятностей (используя математический текст).

Параметры:
use_overlinebool, default: False

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

one_halfstr, default: r"frac{1}{2}"

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

minorbool, default: False

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

minor_thresholdint, default: 25

Максимальное количество позиций для подписи некоторых дополнительных делений. Этот параметр не действует, если minor = False.

minor_numberint, default: 6

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

format_data_short(self, value) [source]

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

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

set_locs(self, locs) [source]

Устанавливает позиции делений.

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

set_minor_number(self, minor_number) [source]

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

Параметры:
minor_numberint

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

set_minor_threshold(self, minor_threshold) [source]

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

Параметры:
minor_thresholdint

Максимальное количество позиций для подписи некоторых дополнительных делений. Этот параметр не действует, если minor = False.

set_one_half(self, one_half) [source]

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

one_halfstr, default: r"frac{1}{2}"
Строка, используемая для представления 1/2.
use_overline(self, use_overline) [source]

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

Параметры:
use_overlinebool, default: False

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

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

Основывается на matplotlib.ticker.MaxNLocator

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

Размещает деления на логарифмических позициях

Параметры:
nbinsint or 'auto', optional

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

minorbool, default: False

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

property minor
nonsingular(self, vmin, vmax) [source]

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

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

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

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

tick_values(self, vmin, vmax) [source]

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

Примечание

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

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
class matplotlib.ticker.MaxNLocator(*args, **kwargs) [source]

Основывается на matplotlib.ticker.Locator

Находит оптимальные позиции делений с не более чем N делениями в пределах пределов отображения. Позиции за пределами пределов добавляются для поддержки автоматического масштабирования.

Параметры:
nbinsint or 'auto', default: 10

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

stepsarray-like, optional

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

integerbool, default: False

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

symmetricbool, default: False

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

prune{'lower', 'upper', 'both', None}, default: None

Удалять крайние деления — полезно для наложенных или связанных графиков, где верхнее деление одной оси перекрывается с нижним делением оси над ней, в основном когда rcParams["axes.autolimit_mode"] (по умолчанию 'data') равно 'round_numbers'. Если prune=='lower', будет удалено наименьшее деление. Если prune == 'upper', будет удалено наибольшее деление. Если prune == 'both', будут удалены наибольшее и наименьшее деления. Если prune равно None, деления не будут удаляться.

min_n_ticksint, default: 2

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

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

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

Параметры:
nbinsint or 'auto', optional

см. MaxNLocator

stepsarray-like, optional

см. MaxNLocator

integerbool, optional

см. MaxNLocator

symmetricbool, optional

см. MaxNLocator

prune{'lower', 'upper', 'both', None}, optional

см. MaxNLocator

min_n_ticksint, optional

см. MaxNLocator

tick_values(self, vmin, vmax) [source]

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

Примечание

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

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(self, dmin, dmax) [source]

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

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

class matplotlib.ticker.MultipleLocator(base=1.0) [source]

Основывается на matplotlib.ticker.Locator

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

set_params(self, base) [source]

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

tick_values(self, vmin, vmax) [source]

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

Примечание

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

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(self, dmin, dmax) [source]

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

class matplotlib.ticker.NullFormatter [source]

Основывается на matplotlib.ticker.Formatter

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

class matplotlib.ticker.NullLocator [source]

Основывается на matplotlib.ticker.Locator

Нет делений

tick_values(self, vmin, vmax) [source]

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

Примечание

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

END_OF_DOCUMENT_MARKER
class matplotlib.ticker.OldAutoLocator(*args, **kwargs) [source]

Базы: matplotlib.ticker.Locator

[Устаревшее] При автоматическом масштабировании этот класс выбирает лучший MultipleLocator для установки пределов отображения и меток.

Примечания

Устарело начиная с версии 3.3.

get_locator(self, d) [source]

Выбор лучшего локатора на основе расстояния d.

tick_values(self, vmin, vmax) [source]

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

Примечание

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

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

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

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

class matplotlib.ticker.OldScalarFormatter(*args, **kwargs) [source]

Базы: matplotlib.ticker.Formatter

[Устаревшее] Позиция метки — простое число.

Примечания

Устарело начиная с версии 3.3.

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

Базы: matplotlib.ticker.Formatter

Форматирование чисел в виде процента.

Параметры:
xmaxfloat

Определяет, как число преобразуется в процент. xmax — значение данных, соответствующее 100%. Проценты вычисляются как x / xmax * 100. Таким образом, если данные уже отмасштабированы в проценты, xmax будет равен 100. Другая распространённая ситуация — когда xmax равен 1,0.

decimalsNone or int

Количество знаков после запятой. Если None (по умолчанию), количество знаков вычисляется автоматически.

symbolstr or None

Строка, которая будет добавлена к метке. Может быть None или пустой, чтобы указать, что символ не должен использоваться. Специальные символы LaTeX в symbol экранируются, когда включен режим LaTeX, если is_latex не True.

is_latexbool

Если False, специальные символы LaTeX в symbol экранируются.

convert_to_pct(self, x) [source]
format_pct(self, 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%
... ... ...

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

property symbol

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

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

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

Bases: matplotlib.ticker.Formatter

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

Параметры:
useOffsetbool or float, default: rcParams["axes.formatter.useoffset"] (default: True)

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

useMathTextbool, default: rcParams["axes.formatter.use_mathtext"] (default: False)

Использовать изящный математический формат. Смотрите set_useMathText.

useLocalebool, default: rcParams["axes.formatter.use_locale"] (default: 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(self, value) [source]

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

format_data_short(self, value) [source]

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

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

get_offset(self) [source]

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

get_useLocale(self) [source]

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

См. также

ScalarFormatter.set_useLocale
get_useMathText(self) [source]

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

См. также

ScalarFormatter.set_useMathText
get_useOffset(self) [source]

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

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

См. также

ScalarFormatter.set_useOffset
set_locs(self, locs) [source]

Устанавливает позиции делений.

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

set_powerlimits(self, 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(self, b) [source]

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

См. также

ScalarFormatter.set_powerlimits
set_useLocale(self, val) [source]

Установить, использовать ли настройки локали для знака десятичной запятой и знака «плюс».

Параметры:
valbool or None

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

set_useMathText(self, val) [source]

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

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

Параметры:
valbool or None

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

set_useOffset(self, val) [source]

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

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

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

Примеры

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

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

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

property useLocale

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

См. также

ScalarFormatter.set_useLocale
property useMathText

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

См. также

ScalarFormatter.set_useMathText
property useOffset

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

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

См. также

ScalarFormatter.set_useOffset
class matplotlib.ticker.StrMethodFormatter(fmt) [source]

Bases: matplotlib.ticker.Formatter

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

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

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

Bases: matplotlib.ticker.Locator

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

Параметры:
transformSymmetricalLogTransform, optional

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

base, linthreshfloat, optional

Основание и linthresh симметричного логарифмического преобразования, как документировано для SymmetricalLogScale. Эти параметры используются только если transform не задан.

subssequence of float, default: [1]

Множители целых степеней основания, где размещаются метки, т.е., метки размещаются в [sub * base**i for i in ... for sub in subs].

Примечания

Должен быть задан либо transform, либо оба base и linthresh.

set_params(self, subs=None, numticks=None) [source]

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

tick_values(self, vmin, vmax) [source]

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

Примечание

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

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

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

class matplotlib.ticker.TickHelper [source]

Bases: object

axis = None
create_dummy_axis(self, **kwargs) [source]
set_axis(self, axis) [source]
set_bounds(self, vmin, vmax) [source]
set_data_interval(self, vmin, vmax) [source]
set_view_interval(self, vmin, vmax) [source]
Inheritance diagram of matplotlib.ticker

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

Spec-Zone.ru

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