matplotlib.ticker
Поиск и форматирование делений шкалы
Этот модуль содержит классы для настройки поиска и форматирования делений шкалы. Предоставляются общие поисковики и форматировщики делений, а также специализированные для конкретных областей.
Хотя поисковики не знают о основных или дополнительных делениях, они используются классом Axis для поддержки поиска и форматирования основных и дополнительных делений.
Поиск делений
Класс Locator является базовым классом для всех поисковиков делений. Поисковики обрабатывают автоматическое масштабирование пределов отображения на основе пределов данных и выбор позиций делений. Полезный полуавтоматический поисковик делений — MultipleLocator. Он инициализируется основанием, например, 10, и выбирает пределы осей и деления, которые являются кратными этому основанию.
Подклассы Locator, определённые здесь:
| |
Находит до максимального числа интервалов с делениями в удобных местах. | |
Равномерно распределяет деления от минимума до максимума. | |
Распределяет деления логарифмически от минимума до максимума. | |
Деления и диапазон кратны основанию; целое или вещественное число. | |
Позиции делений фиксированы. | |
Поисковик делений для графиков индексов (например, где | |
Нет делений. | |
Поисковик делений для использования с нормой symlog; работает как | |
Поисковик делений для использования с нормой asinh, стремясь распределить деления приблизительно равномерно. | |
Поисковик делений для логарифмической шкалы. | |
Поисковик дополнительных делений, когда ось линейна, а основные деления равномерно распределены. Разбивает интервал основных делений на указанное число дополнительных интервалов, по умолчанию 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. Форматировщик работает с одним значением деления и возвращает строку в ось.
Нет меток на делениях. | |
Метки устанавливаются вручную. | |
Метки устанавливаются с помощью пользовательской функции. | |
Использование метода строк | |
Использование строки форматирования старого стиля sprintf. | |
Форматировщик по умолчанию для скалярных величин: автоматический выбор строки форматирования. | |
Форматировщик для логарифмических осей. | |
Форматирование значений для логарифмической оси с использованием | |
Форматирование значений для логарифмической оси с использованием | |
Форматирование значений для логарифмической оси в научной записи. | |
Форматировщик вероятностей. | |
Форматирование меток в инженерной записи. | |
Форматирование меток в процентах. |
Вы можете разработать собственный форматировщик, унаследовав от базового класса 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
-
Основание системы счисления, используемое для округления местоположений делений на логарифмической шкале. Если это значение меньше единицы, то округление производится до ближайшего целого кратного степеней десятки.
- substuple, по умолчанию: 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просто вызовите экземпляр размещателя:>>> 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просто вызовите экземпляр размещателя:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- классmatplotlib.ticker.EngFormatter(unit='', places=None, sep=' ', *, usetex=None, useMathText=None)[source]
-
Базы:
FormatterФорматирует значения осей, используя инженерные префиксы для представления степеней 1000, плюс указанный единицы измерения, например, 10 МГц вместо 1e7.
- Параметры:
-
- unitстрока, по умолчанию: ""
-
Символ единицы измерения, подходящий для использования с однобуквенными обозначениями степеней 1000. Например, 'Hz' или 'm'.
- placesцелое число, по умолчанию: None
-
Точность отображения числа, заданная числом цифр после десятичной точки (будет от одной до трех цифр перед десятичной точкой). Если None, форматирование возвращается к формату с плавающей точкой '%g', который отображает до 6 значимых цифр, т.е. эквивалентное значение для places варьируется от 0 до 5 (включительно).
- sepстрока, по умолчанию: " "
-
Разделитель, используемый между значением и префиксом/единицей измерения. Например, вы получите '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]
- свойствоuseMathText
- свойствоusetex
- классmatplotlib.ticker.FixedFormatter(seq)[source]
-
Базы:
FormatterВозвращает фиксированные строки для меток делений, основанные только на позиции, а не на значении.
Примечание
FixedFormatterследует использовать только вместе сFixedLocator. В противном случае метки могут оказаться в неожиданных позициях.Устанавливает последовательность seq строк, которые будут использоваться для меток.
- get_offset()[source]
- set_offset_string(ofs)[source]
- классmatplotlib.ticker.FixedLocator(locs, nbins=None)[source]
-
Базы:
LocatorПозиции делений фиксированы в locs. Если nbins не равно None, массив locs возможных позиций будет подвыбираться, чтобы количество делений было <= nbins +1. Подвыборка будет выполнена так, чтобы включить наименьшее по абсолютной величине значение; например, если ноль включён в массив возможных значений, то он гарантированно будет одним из выбранных делений.
- set_params(nbins=None)[source]
-
Устанавливает параметры внутри данного локетора.
- tick_values(vmin, vmax)[source]
-
Возвращает позиции делений.
Примечание
Поскольку значения фиксированы, vmin и vmax в этом методе не используются.
- классmatplotlib.ticker.FormatStrFormatter(fmt)[source]
-
Базы:
FormatterИспользуйте строку форматирования старого стиля ('%' оператор) для форматирования метки.
Строка форматирования должна содержать единственный формат переменной (%) в ней. Она будет применена к значению (а не к позиции) метки.
Отрицательные числовые значения будут использовать дефис, а не символ Unicode минус; используйте mathtext для получения символа Unicode минус, обернув спецификатор форматирования в $ (например, "$%g$").
- классmatplotlib.ticker.Formatter[source]
-
Базы:
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]
-
Базы:
FormatterИспользуйте пользовательскую функцию для форматирования.
Функция должна принимать два входных значения (значение метки
xи позициюpos) и возвращать строку, содержащую соответствующую метку метки.- get_offset()[source]
- set_offset_string(ofs)[source]
- классmatplotlib.ticker.IndexLocator(base, offset)[source]
-
Базы:
LocatorРазмещает метку на каждом кратном некоторому базовому числу точек, нарисованных, например, на каждой 5-й точке. Предполагается, что вы выполняете индексное построение; то есть ось — это 0, len(данные). Это в основном полезно для x меток.
Размещает метки через base данных точек, начиная с offset.
- set_params(base=None, offset=None)[source]
-
Устанавливает параметры в этом локаторе
- tick_values(vmin, vmax)[source]
-
Возвращает значения расположенных меток, учитывая значения vmin и vmax.
Примечание
Чтобы получить расположения меток со значениями vmin и vmax, определёнными автоматически для связанного
axisпросто вызовите экземпляр Locator:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- classmatplotlib.ticker.LinearLocator(numticks=None, presets=None)[source]
-
Bases:
LocatorОпределение расположения делений шкалы
В первый раз при вызове функция попытается установить количество делений для красивого разделения. В дальнейшем, количество делений будет фиксироваться для удобства интерактивного навигации
- Параметры:
-
- numticksint или None, по умолчанию None
-
Количество делений. Если None, numticks = 11.
- presetsdict или 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]
-
Выводит сообщение об ошибке уровня ПРЕДУПРЕЖДЕНИЕ, если 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.
Подклассы должны переопределить этот метод, чтобы изменить поведение локетора.
- 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). Это значение по умолчанию для стиля "классический".Примеры
Для маркировки подмножества вспомогательных делений, когда пределы отображения охватывают до 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, по умолчанию: 10.0
-
Основание логарифма, используемое для размещения основных делений в позициях
base**n, гдеn— целое число. - subsNone или {'auto', 'all'} или последовательность чисел с плавающей точкой, по умолчанию: (1.0,)
-
Указывает кратные целым степеням основания, в которых должны быть размещены деления. По умолчанию
(1.0, )размещаются только в целых степенях основания. Разрешенные строковые значения —'auto'и'all'. Оба этих значения используют алгоритм, основанный на пределах области просмотра оси, чтобы определить, нужно ли и как размещать деления между целыми степенями основания. С'auto', деления размещаются только между целыми степенями; с'all', целые степени также включаются. Значение None эквивалентно'auto'. - numticksNone или целое число, по умолчанию: None
-
Максимальное количество делений на заданной оси. По умолчанию
Noneбудет пытаться выбрать значения разумно, если этот локатор уже был назначен оси с помощьюget_tick_space, в противном случае возвращается к 9.
Деления размещаются в позициях : subs[j] * base**i.
- nonsingular(vmin, vmax)[source]
-
Корректирует диапазон, чтобы избежать особенностей.
Этот метод вызывается во время автоматического масштабирования с
(v0, v1), установленным в пределы данных на осях, если оси содержат какие-либо данные, или(-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просто вызовите экземпляр Локатора:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- view_limits(vmin, vmax)[source]
-
Попробуйте разумно выбрать пределы области просмотра.
- classmatplotlib.ticker.LogitFormatter(*, use_overline=False, one_half='\\frac{1}{2}', minor=False, minor_threshold=25, minor_number=6)[source]
-
Bases:
FormatterФорматировщик вероятностей (используя математический текст).
- Параметры:
-
- use_overlinebool, по умолчанию: False
-
Если x > 1/2, при x = 1-v, указывает, должен ли x отображаться как $overline{v}$. По умолчанию отображается $1-v$.
- one_halfstr, по умолчанию: r"frac{1}{2}"
-
Строка, используемая для представления 1/2.
- minorbool, по умолчанию: False
-
Указывает, форматирует ли форматировщик вспомогательные метки или нет. В основном вспомогательные метки не подписываются, за исключением случаев, когда предоставляется несколько меток; метки с наибольшим расстоянием от соседних меток подписываются. Обратитесь к другим параметрам для изменения поведения по умолчанию.
- minor_thresholdint, по умолчанию: 25
-
Максимальное количество меток для подписи некоторых вспомогательных меток. Этот параметр не имеет эффекта, если minor = False.
- minor_numberint, по умолчанию: 6
-
Количество меток, которые подписываются, когда количество меток меньше порога.
- format_data_short(value)[source]
-
Возвращает короткую строковую версию значения метки.
По умолчанию используется длинное значение, независимое от позиции.
- set_locs(locs)[source]
-
Устанавливает позиции меток.
Этот метод вызывается перед вычислением меток, так как некоторым форматировщикам нужно знать все положения меток для этого.
- set_minor_number(minor_number)[source]
-
Устанавливает количество вспомогательных меток для подписи, когда некоторые вспомогательные метки подписываются.
- Параметры:
-
- minor_numberint
-
Количество меток, которые подписываются, когда количество меток меньше порога.
- set_minor_threshold(minor_threshold)[source]
-
Устанавливает порог для подписи вспомогательных меток.
- Параметры:
-
- minor_thresholdint
-
Максимальное количество положений для подписи некоторых вспомогательных меток. Этот параметр не имеет эффекта, если minor = False.
- set_one_half(one_half)[source]
-
Устанавливает способ отображения одной половины.
- one_halfstr, по умолчанию: r"frac{1}{2}"
-
Строка, используемая для представления 1/2.
- use_overline(use_overline)[source]
-
Переключает режим отображения с надстрочной чертой для подписи p>1/2.
- Параметры:
-
- use_overlinebool, по умолчанию: False
-
Если x > 1/2, при x = 1-v, указывает, должен ли x отображаться как $overline{v}$. По умолчанию отображается $1-v$.
- classmatplotlib.ticker.LogitLocator(minor=False, *, nbins='auto')[source]
-
Bases:
MaxNLocatorОпределяет позиции меток для логарифмических осей
Расположение меток на логарифмических позициях
- Параметры:
-
- nbinsint или 'auto', необязательно
-
Количество меток. Используется только если minor = False.
- minorbool, по умолчанию: False
-
Указывает, является ли этот локатор для вспомогательных меток или нет.
- propertyminor
- nonsingular(vmin, vmax)[source]
-
Настраивает диапазон по мере необходимости для предотвращения особенностей.
Этот метод вызывается во время автоматической масштабирования, с
(v0, v1)установленными на пределы данных на осях, если оси содержат какие-либо данные, или(-inf, +inf)в противном случае.- Если
v0 == v1(возможно, до некоторой погрешности с плавающей точкой), этот метод возвращает расширенный интервал вокруг этого значения. - Если
(v0, v1) == (-inf, +inf), этот метод возвращает соответствующие пределы просмотра по умолчанию. - В противном случае,
(v0, v1)возвращается без изменений.
- Если
- set_params(minor=None, **kwargs)[source]
-
Устанавливает параметры в этом локаторе.
- tick_values(vmin, vmax)[source]
-
Возвращает значения расположенных меток, заданных vmin и vmax.
Примечание
Для получения положений меток с автоматически определенными значениями vmin и vmax для связанных
axisпросто вызовите экземпляр локатора:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- classmatplotlib.ticker.MaxNLocator(nbins=None, **kwargs)[source]
-
Bases:
LocatorНаходит подходящие метки с не более чем 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{'lower', 'upper', 'both', None}, по умолчанию: None
-
Удалить метку 'lower', метку 'upper' или метки с 'both' сторон если они попадают точно на край оси (это обычно происходит, когда
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{'lower', 'upper', 'both', None}, необязательно
-
см.
MaxNLocator - min_n_ticksint, необязательно
-
см.
MaxNLocator
- tick_values(vmin, vmax)[source]
-
Возвращает значения расположенных меток, учитывая vmin и vmax.
Примечание
Чтобы получить расположение меток с автоматически определенными значениями vmin и vmax для соответствующей
axisпросто вызовите экземпляр Locator:>>> 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Устанавливает метку на каждом целочисленном кратном значении base плюс offset в пределах интервала отображения.
- Параметры:
-
- basefloat > 0
-
Интервал между метками.
- offsetfloat
-
Значение, добавляемое к каждому кратному base.
New in version 3.8.
- set_params(base=None, offset=None)[source]
-
Установить параметры внутри этого локета.
- Параметры:
-
- basefloat > 0
-
Интервал между метками.
- offsetfloat
-
Значение, добавляемое к каждому кратному base.
New in version 3.8.
- tick_values(vmin, vmax)[source]
-
Возвращает значения расположенных меток, учитывая vmin и vmax.
Примечание
Чтобы получить расположение меток с автоматически определенными значениями vmin и vmax для соответствующей
axisпросто вызовите экземпляр Locator:>>> 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]
-
Возвращает позиции делений.
Примечание
Так как значения Null, vmin и vmax в этом методе не используются.
- классmatplotlib.ticker.PercentFormatter(xmax=100, decimals=None, symbol='%', is_latex=False)[source]
-
Базы:
FormatterФорматирование чисел в процентах.
- Параметры:
-
- xmaxfloat
-
Определяет, как число преобразуется в процент. xmax — значение данных, соответствующее 100%. Проценты вычисляются как
x / xmax * 100. Таким образом, если данные уже масштабированы до процентов, xmax будет равен 100. Другой распространённый случай, когда xmax равен 1,0. - decimalsNone или int
-
Количество десятичных знаков после запятой. Если None (по умолчанию), количество знаков будет вычислено автоматически.
- symbolстрока или None
-
Строка, которая будет добавлена к метке. Может быть None или пустой, чтобы указать, что символ не должен использоваться. Латексные специальные символы в symbol экранируются, когда включён режим LaTeX, если только is_latex не True.
- is_latexbool
-
Если False, зарезервированные символы LaTeX в symbol будут экранироваться.
- convert_to_pct(x)[source]
- format_pct(x, display_range)[source]
-
Форматирование числа в процентах с правильным количеством десятичных знаков и добавлением символа процента, если он есть.
Если
self.decimalsравноNone, количество цифр после запятой устанавливается на основе display_range оси следующим образом:display_range
decimals
пример
>50
0
x = 34.5=> 35%>5
1
x = 34.5=> 34,5%>0,5
2
x = 34.5=> 34,50%...
...
...
Этот метод не будет эффективным для очень малых или очень больших диапазонов осей. Он предполагает, что значения на диаграмме отображаются в процентах на разумном масштабе.
- свойствоsymbol
-
Настроенный символ процента в виде строки.
Если LaTeX включен через
rcParams["text.usetex"](по умолчанию:False), специальные символы{'#', '$', '%', '&', '~', '_', '^', '\', '{', '}'}автоматически экранируются в строке.
- классmatplotlib.ticker.ScalarFormatter(useOffset=None, useMathText=None, useLocale=None)[source]
-
Bases:
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.
-
useOffsetbool или float, по умолчанию:
Примечания
В дополнение к приведенным выше параметрам форматирование научной записи по сравнению с плавающей точкой может быть настроено с помощью
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]
-
Возвращает, используются ли настройки локали для форматирования.
См. также
- get_useMathText()[source]
-
Возвращает, используется ли форматирование математических выражений.
См. также
- get_useOffset()[source]
-
Возвращает, активен ли автоматический режим для обозначения смещения.
Возвращает True, если
set_useOffset(True); возвращает False, если смещение было задано явно, напримерset_useOffset(1000).См. также
- 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\).
См. также
- set_scientific(b)[source]
-
Включить или выключить научную запись.
См. также
- 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, которое записывается на край оси.
- свойствоuseLocale
-
Возвращает, используются ли настройки локали для форматирования.
См. также
- свойствоuseMathText
-
Возвращает, используется ли стилизованный математический формат.
См. также
- свойствоuseOffset
-
Возвращает, включен ли автоматический режим для обозначения смещения.
Возвращает True, если
set_useOffset(True); возвращает False, если смещение было установлено явно, например,set_useOffset(1000).См. также
- классmatplotlib.ticker.StrMethodFormatter(fmt)[source]
-
Базовый класс:
FormatterИспользуйте строковый шаблон нового стиля (как используется в
str.format) для форматирования метки.Поле, используемое для значения метки, должно быть помечено x, а поле, используемое для позиции метки, должно быть помечено pos.
- классmatplotlib.ticker.SymmetricalLogLocator(transform=None, subs=None, linthresh=None, base=None)[source]
-
Базовый класс:
LocatorОпределение расположения меток для симметричных логарифмических осей.
- Параметры:
-
-
transform
SymmetricalLogTransform, необязательно -
Если задано, определяет основу и linthresh симметричного логарифмического преобразования.
- base, linthreshfloat, необязательно
-
Основание и linthresh симметричного логарифмического преобразования, как документировано для
SymmetricalLogScale. Эти параметры используются только в случае, если transform не задан. - subsпоследовательность float, по умолчанию: [1]
-
Множители целых степеней основания, где размещаются метки, т. е., метки размещаются в
[sub * base**i for i in ... for sub in subs].
-
transform
Замечания
Должен быть задан либо transform, либо оба base и linthresh.
- set_params(subs=None, 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.TickHelper[source]
-
Bases:
object- axis=None
- create_dummy_axis(**kwargs)[source]
- set_axis(axis)[source]
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.8.4/api/ticker_api.html