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
-
Числовая система, используемая для округления позиций делений на логарифмической шкале. Если это значение меньше единицы, то округление выполняется до ближайшего целого кратного степеней десяти.
- subsкортеж, по умолчанию: None
-
Кратные базовому числу, обычно используемые для дополнительных делений, например, (2, 5) при base=10.
- set_params(numticks=None, symthresh=None, base=None, subs=None)[source]
-
Настройка параметров в этом локаторе.
- tick_values(vmin, vmax)[source]
-
Возвращает значения делений, заданные vmin и vmax.
Примечание
Для получения позиций делений с автоматически определенными значениями vmin и vmax для соответствующей
axisпросто вызовите экземпляр Locator:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- classmatplotlib.ticker.AutoLocator[source]
-
Bases:
MaxNLocatorДинамическое определение позиций основных делений. Фактически, это подкласс
MaxNLocatorс параметрами nbins = 'auto' и steps = [1, 2, 2.5, 5, 10].Чтобы узнать значения защищенных параметров, обратитесь к значениям по умолчанию
MaxNLocator.
- classmatplotlib.ticker.AutoMinorLocator(n=None)[source]
-
Bases:
LocatorДинамически находит позиции вспомогательных делений на основе позиций основных делений. Масштаб должен быть линейным с равномерно расположенными основными делениями.
n — количество подразделений интервала между основными делениями; например, n=2 разместит одно вспомогательное деление посередине между основными делениями.
Если n опущено или равно None, оно будет установлено в 5 или 4.
- tick_values(vmin, vmax)[source]
-
Возвращает значения расположенных делений, заданных vmin и vmax.
Примечание
Чтобы получить позиции делений со значениями vmin и vmax, определёнными автоматически для соответствующего
axisпросто вызовите экземпляр Locator:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- classmatplotlib.ticker.EngFormatter(unit='', places=None, sep=' ', *, usetex=None, useMathText=None)[source]
-
Bases:
FormatterФорматирование значений осей с использованием инженерных префиксов для представления степеней 1000, плюс указанная единица, например, 10 МГц вместо 1e7.
- Parameters:
-
- unitstr, default: ""
-
Символ единицы для использования, подходящий для использования с односимвольными обозначениями степеней 1000. Например, 'Гц' или 'м'.
- placesint, default: None
-
Точность отображения числа, заданная в цифрах после десятичной точки (будет от одной до трех цифр перед десятичной точкой). Если None, форматирование возвращается к плавающей точке формат '%g', который отображает до 6 значимых цифр, т.е. эквивалентное значение для places изменяется от 0 до 5 (включительно).
- sepstr, default: " "
-
Разделитель, используемый между значением и префиксом/единицей. Например, вы получите '3.14 мВ', если
sepравно " " (по умолчанию) и '3.14мВ', еслиsepравно "". Помимо поведения по умолчанию, некоторые другие полезные варианты могут быть:-
sep=""для непосредственного добавления префикса/единицы к значению; -
sep="\N{THIN SPACE}"(U+2009); -
sep="\N{NARROW NO-BREAK SPACE}"(U+202F); -
sep="\N{NO-BREAK SPACE}"(U+00A0).
-
-
usetexbool, default:
rcParams["text.usetex"](по умолчанию:False) -
Включить/выключить использование математического режима TeX для рендеринга чисел в форматировщике.
-
useMathTextbool, default:
rcParams["axes.formatter.use_mathtext"](по умолчанию:False) -
Включить/выключить использование mathtext для рендеринга чисел в форматировщике.
- ENG_PREFIXES={-24: 'y', -21: 'z', -18: 'a', -15: 'f', -12: 'p', -9: 'n', -6: 'µ', -3: 'm', 0: '', 3: 'k', 6: 'M', 9: 'G', 12: 'T', 15: 'P', 18: 'E', 21: 'Z', 24: 'Y'}
- format_eng(num)[source]
-
Форматирует число в инженерной нотации, добавляя букву, представляющую степень 1000 исходного числа. Некоторые примеры:
>>> format_eng(0) # for self.places = 0 '0'
>>> format_eng(1000000) # for self.places = 1 '1.0 M'
>>> format_eng("-1e-6") # for self.places = 2 '-1.00 µ'
- get_useMathText()[source]
- get_usetex()[source]
- set_useMathText(val)[source]
- set_usetex(val)[source]
- propertyuseMathText
- propertyusetex
- classmatplotlib.ticker.FixedFormatter(seq)[source]
-
Bases:
FormatterВозвращает фиксированные строки для меток делений, основанные только на позиции, а не на значении.
Примечание
FixedFormatterследует использовать только вместе сFixedLocator. В противном случае метки могут оказаться на неожиданных позициях.Устанавливает последовательность seq строк, которые будут использоваться в качестве меток.
- get_offset()[source]
- set_offset_string(ofs)[source]
- classmatplotlib.ticker.FixedLocator(locs, nbins=None)[source]
-
Bases:
LocatorМеста размещения делений фиксированы. Если nbins не равно None, массив возможных положений будет подвыбран, чтобы число делений было <= nbins +1. Подвыборка будет выполнена таким образом, чтобы включить наименьшее абсолютное значение; например, если ноль включён в массив возможных положений, то он гарантированно будет одним из выбранных делений.
- set_params(nbins=None)[source]
-
Установка параметров внутри данного локейтора.
- tick_values(vmin, vmax)[source]
-
Возвращает места размещения делений.
Примечание
Поскольку значения фиксированы, vmin и vmax в этом методе не используются.
- classmatplotlib.ticker.FormatStrFormatter(fmt)[source]
-
Bases:
FormatterИспользование строкового формата старого стиля ('%' оператор) для форматирования делений.
Строка формата должна содержать один формат переменной (%) в ней. Она будет применена к значению (а не к позиции) деления.
Отрицательные числовые значения будут использовать тире, а не символ Unicode минус; используйте mathtext для получения символа Unicode минус, обернув спецификатор формата в $ (например, "$%g$").
- classmatplotlib.ticker.Formatter[source]
-
Bases:
TickHelperСоздание строки на основе значения и позиции деления.
- staticfix_minus(s)[source]
-
Некоторые классы могут захотеть заменить дефис на символ минус с правильным символом Unicode (U+2212) для типографической правильности. Это вспомогательный метод для выполнения такой замены, когда она включена через
rcParams["axes.unicode_minus"](по умолчанию:True).
- format_data(value)[source]
-
Возвращает полное строковое представление значения без указания позиции.
- format_data_short(value)[source]
-
Возвращает короткую строковую версию значения деления.
По умолчанию используется длинное значение, не зависящее от позиции.
- format_ticks(values)[source]
-
Возвращает метки делений для всех делений сразу.
- get_offset()[source]
- locs=[]
- set_locs(locs)[source]
-
Устанавливает места размещения делений.
Этот метод вызывается до вычисления меток делений, так как некоторые форматеры должны знать все места размещения делений, чтобы сделать это.
- classmatplotlib.ticker.FuncFormatter(func)[source]
-
Bases:
FormatterИспользование пользовательской функции для форматирования.
Функция должна принимать два входных значения (значение деления
xи позициюpos) и возвращать строку, содержащую соответствующую метку деления.- get_offset()[source]
- set_offset_string(ofs)[source]
- classmatplotlib.ticker.IndexLocator(base, offset)[source]
-
Bases:
LocatorРазмещает метку на каждом кратном значении некоторого базового числа нарисованных точек, например, на каждой пятой точке. Предполагается, что вы используете индексный график; т. е. ось равна 0, len(данные). Это в основном полезно для меток по оси x.
Размещает метки через base данных точек, начиная с offset.
- set_params(base=None, offset=None)[source]
-
Устанавливает параметры в данном локаторе
- tick_values(vmin, vmax)[source]
-
Возвращает значения расположенных меток, заданных vmin и vmax.
Примечание
Чтобы получить расположения меток со значениями vmin и vmax, автоматически определенными для связанного
axis, просто вызовите экземпляр Locator:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- classmatplotlib.ticker.LinearLocator(numticks=None, presets=None)[source]
-
Bases:
LocatorОпределяет расположения меток
В первый раз, когда эта функция вызывается, она попытается установить количество меток для создания красивого разбиения меток. В дальнейшем количество меток будет фиксированным, чтобы интерактивное навигация была приятной.
Используйте наборы параметров, чтобы установить расположения locs на основе lom. Словарь, сопоставляющий vmin, vmax->locs
- propertynumticks
- set_params(numticks=None, presets=None)[source]
-
Устанавливает параметры в этом локаторе.
- tick_values(vmin, vmax)[source]
-
Возвращает значения расположенных меток, заданных vmin и vmax.
Примечание
Чтобы получить расположения меток со значениями vmin и vmax, автоматически определенными для связанного
axis, просто вызовите экземпляр Locator:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- view_limits(vmin, vmax)[source]
-
Попробуйте разумно выбрать пределы представления.
- classmatplotlib.ticker.Locator[source]
-
Bases:
TickHelperОпределяет расположения меток;
Обратите внимание, что один и тот же локатор не следует использовать для нескольких
Axis, так как локатор хранит ссылки на данные оси и пределы представления.- MAXTICKS=1000
- nonsingular(v0, v1)[source]
-
Настраивает диапазон по мере необходимости, чтобы избежать особенностей.
Этот метод вызывается во время автоматического масштабирования со
(v0, v1), установленным на пределы данных на осях, если оси содержат данные, или(-inf, +inf), если нет.- Если
v0 == v1(возможно, до некоторой погрешности с плавающей запятой), этот метод возвращает расширенный интервал вокруг этого значения. - Если
(v0, v1) == (-inf, +inf), этот метод возвращает соответствующие пределы представления по умолчанию. - В противном случае,
(v0, v1)возвращается без изменений.
- Если
- raise_if_exceeds(locs)[source]
-
Выводит сообщение об ошибке уровня WARNING, если locs длиннее, чем
Locator.MAXTICKS.Этот метод предназначен для вызова непосредственно перед возвращением locs из
__call__для информирования пользователей в случае, если их Locator возвращает огромное количество меток, что приводит к недостатку памяти в Matplotlib.«Странное» имя этого метода уходит корнями в то время, когда он вместо этого поднимал исключение.
- set_params(**kwargs)[source]
-
Ничего не делает и выводит предупреждение. Любой класс Locator, не поддерживающий функцию set_params(), вызовет это.
- tick_values(vmin, vmax)[source]
-
Возвращает значения расположенных меток, заданных vmin и vmax.
Примечание
Чтобы получить расположения меток со значениями vmin и vmax, автоматически определенными для связанного
axis, просто вызовите экземпляр Locator:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- view_limits(vmin, vmax)[source]
-
Выбирает масштаб для диапазона от vmin до vmax.
Подклассы должны переопределять этот метод, чтобы изменить поведение локатора.
- classmatplotlib.ticker.LogFormatter(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]
-
Bases:
FormatterБазовый класс для форматирования делений на логарифмической или симметрично-логарифмической шкале.
Может быть создан напрямую или унаследован.
- Параметры:
-
- basefloat, по умолчанию: 10.
-
Основание логарифма, используемого во всех вычислениях.
- labelOnlyBasebool, по умолчанию: False
-
Если True, метки отображаются только для целых степеней основания. Обычно True для основных делений и False для вспомогательных.
- minor_thresholds(подмножество, все), по умолчанию: (1, 0.4)
-
Если labelOnlyBase равно False, эти два числа управляют отображением делений, не являющихся целыми степенями основания; обычно это вспомогательные деления. Управляющим параметром является логарифм диапазона данных оси. В типичном случае, когда основание равно 10, это число декад, охватываемых осью, поэтому мы можем назвать его "numdec". Если
numdec <= all, все вспомогательные деления будут помечены. Еслиall < numdec <= subset, тогда будут помечены только некоторые вспомогательные деления, чтобы избежать переполнения. Еслиnumdec > subset, тогда никакие вспомогательные деления не будут помечены. - linthreshNone или float, по умолчанию: None
-
Если используется симметричная логарифмическая шкала, её параметр
linthreshдолжен быть задан здесь.
Примечания
Метод
set_locsдолжен быть вызван, чтобы включить логику подмножества, управляемую параметромminor_thresholds.В некоторых случаях, таких как цветовая шкала, нет различия между основными и вспомогательными делениями; расположение делений может быть задано вручную или с помощью локейтора, который размещает деления в целых степенях основания и в промежуточных точках. В этой ситуации отключите логику minor_thresholds, используя
minor_thresholds=(np.inf, np.inf), чтобы все деления были помечены.Чтобы отключить отображение вспомогательных делений, когда 'labelOnlyBase' равно False, используйте
minor_thresholds=(0, 0). Это значение по умолчанию для стиля "classic".Примеры
Чтобы пометить подмножество вспомогательных делений, когда пределы отображения охватывают до 2 декад, и все деления, когда масштаб уменьшен до 0,5 декады или меньше, используйте
minor_thresholds=(2, 0.5).Чтобы пометить все вспомогательные деления, когда пределы отображения охватывают до 1,5 декады, используйте
minor_thresholds=(1.5, 1.5).- base(base)[source]
-
[Устарело] Изменить base для маркировки.
Предупреждение
Должно всегда соответствовать основанию, используемому для
LogLocatorПримечания
Устарело начиная с версии 3.6: Используйте set_base() вместо этого.
- format_data(value)[source]
-
Возвращает полное строковое представление значения без указания позиции.
- format_data_short(value)[source]
-
Возвращает короткую строковую версию значения метки.
По умолчанию возвращает длинное значение без привязки к позиции.
- label_minor(labelOnlyBase)[source]
-
[Устарело] Включение или отключение отображения вспомогательных делений.
- Параметры:
-
- labelOnlyBasebool
-
Если True, метки отображаются только для целых степеней основания.
Примечания
Устарело начиная с версии 3.6: Используйте set_label_minor() вместо этого.
- set_base(base)[source]
-
Изменить base для маркировки.
Предупреждение
Должно всегда соответствовать основанию, используемому для
LogLocator
- set_label_minor(labelOnlyBase)[source]
-
Включение или отключение отображения вспомогательных делений.
- Параметры:
-
- labelOnlyBasebool
-
Если True, метки отображаются только для целых степеней основания.
- set_locs(locs=None)[source]
-
Используйте пределы отображения оси для управления делениями, которые будут помечены.
Параметр locs игнорируется в текущем алгоритме.
- classmatplotlib.ticker.LogFormatterExponent(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]
-
Bases:
LogFormatterФорматирование значений для логарифмической оси, используя
exponent = log_base(value).
- classmatplotlib.ticker.LogFormatterMathtext(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]
-
Bases:
LogFormatterФорматирование значений для логарифмической оси, используя
exponent = log_base(value).
- classmatplotlib.ticker.LogFormatterSciNotation(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]
-
Bases:
LogFormatterMathtextФорматировать значения в соответствии с научной записью на логарифмической оси.
- classmatplotlib.ticker.LogLocator(base=10.0, subs=(1.0,), numdecs=4, numticks=None)[source]
-
Bases:
LocatorОпределение меток для логарифмических осей
Размещение меток в позициях: subs[j] * base**i
- Параметры:
-
- basefloat, по умолчанию: 10.0
-
Основание логарифма, по которому размещаются основные метки в точках
base**n, где n целое число. - subsNone или строка или последовательность чисел с плавающей точкой, по умолчанию: (1.0,)
-
Определяет кратные целым степеням основания, где размещаются метки. По умолчанию метки размещаются только в точках целых степеней основания. Разрешенные строковые значения —
'auto'и'all', оба из которых используют алгоритм, основанный на границах области просмотра оси, чтобы определить, и как размещать метки между целыми степенями основания. С'auto', метки размещаются только между целыми степенями; с'all', целые степени также включаются. Значение None эквивалентно'auto'. - numticksNone или целое число, по умолчанию: None
-
Максимальное количество меток на данной оси. По умолчанию (
None) пытается выбрать метки разумно, если данный локализатор уже присвоен оси с помощьюget_tick_space, в противном случае возвращает 9.
- base(base)[source]
-
[Устаревшее] Установка основания логарифма (основная метка через
base**i, i целое число).Примечания
Устарело начиная с версии 3.6: Используйте set_params(base=...) вместо этого.
- nonsingular(vmin, vmax)[source]
-
Настройка диапазона для предотвращения особенностей.
Этот метод вызывается во время автоматического масштабирования с
(v0, v1), установленным в пределы данных на оси, если на оси есть какие-либо данные, или(-inf, +inf)в противном случае.- Если
v0 == v1(возможно, с некоторым дрейфом с плавающей точкой), этот метод возвращает расширенный интервал вокруг этого значения. - Если
(v0, v1) == (-inf, +inf), этот метод возвращает соответствующие пределы области просмотра по умолчанию. - В противном случае возвращается
(v0, v1)без изменений.
- Если
- set_params(base=None, subs=None, numdecs=None, numticks=None)[source]
-
Установка параметров внутри локализатора.
- subs(subs)[source]
-
[Устаревшее] Установка вспомогательных меток для логарифмической шкалы с интервалом
base**i*subs[j].Примечания
Устарело начиная с версии 3.6: Используйте set_params(subs=...) вместо этого.
- tick_values(vmin, vmax)[source]
-
Возвращает значения размещаемых меток, заданных значениями vmin и vmax.
Примечание
Чтобы получить местоположения меток с автоматически заданными значениями vmin и vmax для соответствующей
axisпросто вызовите экземпляр локализатора:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- view_limits(vmin, vmax)[source]
-
Попытка разумного выбора пределов области просмотра.
- classmatplotlib.ticker.LogitFormatter(*, use_overline=False, one_half='\\frac{1}{2}', minor=False, minor_threshold=25, minor_number=6)[source]
-
Bases:
FormatterФорматировщик вероятностей (используя математический текст).
- Параметры:
-
- use_overlinebool, по умолчанию: False
-
Если x > 1/2, при x = 1-v, указывает, должен ли x отображаться как $overline{v}$. По умолчанию отображается $1-v$.
- one_halfstr, по умолчанию: r"frac{1}{2}"
-
Строка, используемая для представления 1/2.
- minorbool, по умолчанию: False
-
Указывает, форматируются ли вспомогательные деления или нет. Вспомогательные деления, в основном, не подписываются, за исключением случаев, когда предоставлено мало делений, при которых подписываются деления с наибольшим расстоянием от соседних делений. См. другие параметры для изменения поведения по умолчанию.
- minor_thresholdint, по умолчанию: 25
-
Максимальное количество значений для подписи некоторых вспомогательных делений. Этот параметр не имеет эффекта, если minor = False.
- minor_numberint, по умолчанию: 6
-
Количество делений, которые подписываются, когда количество делений меньше порога.
- format_data_short(value)[source]
-
Возвращает короткую строковую версию значения деления.
По умолчанию использует длинное значение, не зависящее от позиции.
- set_locs(locs)[source]
-
Устанавливает расположения делений.
Этот метод вызывается перед вычислением меток делений, потому что некоторым форматировщикам нужно знать все расположения делений, чтобы сделать это.
- set_minor_number(minor_number)[source]
-
Устанавливает количество вспомогательных делений, которые нужно подписывать, когда подписываются некоторые вспомогательные деления.
- Параметры:
-
- minor_numberint
-
Количество делений, которые подписываются, когда количество делений меньше порога.
- set_minor_threshold(minor_threshold)[source]
-
Устанавливает порог для подписи вспомогательных делений.
- Параметры:
-
- minor_thresholdint
-
Максимальное количество расположений для подписи некоторых вспомогательных делений. Этот параметр не имеет эффекта, если minor = False.
- set_one_half(one_half)[source]
-
Устанавливает способ отображения одной второй.
- one_halfstr, по умолчанию: r"frac{1}{2}"
-
Строка, используемая для представления 1/2.
- use_overline(use_overline)[source]
-
Переключает режим отображения с надстрочной чертой для подписи p>1/2.
- Параметры:
-
- use_overlinebool, по умолчанию: False
-
Если x > 1/2, при x = 1-v, указывает, должен ли x отображаться как $overline{v}$. По умолчанию отображается $1-v$.
- classmatplotlib.ticker.LogitLocator(minor=False, *, nbins='auto')[source]
-
Bases:
MaxNLocatorОпределяет расположения делений для логарифмических осей
Размещает деления на логарифмических расположениях
- Параметры:
-
- nbinsint или 'auto', необязательно
-
Количество делений. Используется только если minor = False.
- minorbool, по умолчанию: False
-
Указывает, используется ли этот локатор для вспомогательных делений.
- propertyminor
- nonsingular(vmin, vmax)[source]
-
Настройка диапазона по мере необходимости для избежания особенностей.
Этот метод вызывается во время автоматического масштабирования, с
(v0, v1)установленными на пределы данных на осях, если оси содержат данные, или(-inf, +inf)в противном случае.- Если
v0 == v1(возможно, до некоторого погрешности с плавающей точкой), этот метод возвращает расширенный интервал вокруг этого значения. - Если
(v0, v1) == (-inf, +inf), этот метод возвращает соответствующие пределы представления по умолчанию. - В противном случае,
(v0, v1)возвращается без модификаций.
- Если
- set_params(minor=None, **kwargs)[source]
-
Установка параметров в пределах этого локатора.
- tick_values(vmin, vmax)[source]
-
Возвращает значения расположенных делений, учитывая vmin и vmax.
Примечание
Чтобы получить расположения делений с автоматически определенными значениями vmin и vmax для связанной
axisоси, просто вызовите экземпляр локатора:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- classmatplotlib.ticker.MaxNLocator(nbins=None, **kwargs)[source]
-
Bases:
LocatorНаходит удобные метки с не более чем N метками внутри пределов отображения. Метки за пределами пределов добавляются для поддержки автоматического масштабирования.
- Параметры:
-
- nbinsint или 'auto', по умолчанию: 10
-
Максимальное количество интервалов; на одну меньше максимального числа меток. Если строка 'auto', количество бинов будет определено автоматически на основе длины оси.
- stepsпоследовательность, необязательно
-
Последовательность удобных чисел, начинающихся с 1 и заканчивающихся 10; например, [1, 2, 4, 5, 10], где значения являются допустимыми кратными для меток. Т.е. для примера, 20, 40, 60 будет приемлемым набором меток, как и 0,4, 0,6, 0,8, потому что они являются кратными 2. Однако 30, 60, 90 не будут допустимы, потому что 3 не встречается в списке шагов.
- integerbool, по умолчанию: False
-
Если True, метки будут принимать только целые значения, при условии, что по крайней мере min_n_ticks целых значений находятся внутри пределов отображения.
- symmetricbool, по умолчанию: False
-
Если True, автоматическое масштабирование приведет к диапазону, симметричному относительно нуля.
- prune{'нижний', 'верхний', 'оба', None}, по умолчанию: None
-
Удалить крайние метки — полезно для стопки или связанных графиков, где верхняя метка одной оси перекрывается с нижней меткой оси над ней, в первую очередь, когда
rcParams["axes.autolimit_mode"](по умолчанию:'data') является'round_numbers'. Еслиprune=='lower', будет удалена наименьшая метка. Еслиprune == 'upper', будет удалена наибольшая метка. Еслиprune == 'both', будут удалены наибольшая и наименьшая метки. Если prune имеет значение None, никакие метки не будут удалены. - min_n_ticksint, по умолчанию: 2
-
Снять ограничения nbins и integer, если необходимо, для получения этого минимального количества меток.
- default_params={'integer': False, 'min_n_ticks': 2, 'nbins': 10, 'prune': None, 'steps': None, 'symmetric': False}
- set_params(**kwargs)[source]
-
Установить параметры для этого локетора.
- Параметры:
-
- nbinsint или 'auto', необязательно
-
см.
MaxNLocator - stepsпоследовательность, необязательно
-
см.
MaxNLocator - integerbool, необязательно
-
см.
MaxNLocator - symmetricbool, необязательно
-
см.
MaxNLocator - prune{'нижний', 'верхний', 'оба', None}, необязательно
-
см.
MaxNLocator - min_n_ticksint, необязательно
-
см.
MaxNLocator
- tick_values(vmin, vmax)[source]
-
Возвращает значения расположенных меток при заданных vmin и vmax.
Примечание
Чтобы получить расположения меток с автоматически определенными значениями vmin и vmax для соответствующей
axisпросто вызовите экземпляр локетора:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- view_limits(dmin, dmax)[source]
-
Выбор шкалы для диапазона от vmin до vmax.
Подклассы должны переопределять этот метод для изменения поведения локетора.
- classmatplotlib.ticker.MultipleLocator(base=1.0)[source]
-
Bases:
LocatorУстанавливает метку на каждом целочисленном кратном основанию внутри интервала отображения.
- set_params(base)[source]
-
Устанавливает параметры внутри этого локетора.
- tick_values(vmin, vmax)[source]
-
Возвращает значения расположенных меток при заданных vmin и vmax.
Примечание
Чтобы получить расположения меток с автоматически определенными значениями vmin и vmax для соответствующей
axisпросто вызовите экземпляр локетора:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- view_limits(dmin, dmax)[source]
-
Устанавливает пределы отображения до ближайших кратных основанию, содержащих данные.
- classmatplotlib.ticker.NullFormatter[source]
-
Bases:
FormatterВсегда возвращает пустую строку.
- классmatplotlib.ticker.NullLocator[source]
-
Базы:
LocatorНет делений
- tick_values(vmin, vmax)[source]
-
Возвращает позиции делений.
Примечание
Поскольку значения нулевые, vmin и vmax в этом методе не используются.
- классmatplotlib.ticker.PercentFormatter(xmax=100, decimals=None, symbol='%', is_latex=False)[source]
-
Базы:
FormatterФорматирование чисел в процентах.
- Параметры:
-
- xmaxfloat
-
Определяет, как число преобразуется в процент. xmax — значение данных, соответствующее 100%. Проценты вычисляются как
x / xmax * 100. Таким образом, если данные уже масштабированы до процентов, xmax будет 100. Другой распространенный случай — когда xmax равен 1,0. - decimalsNone или int
-
Количество знаков после запятой. Если None (по умолчанию), число будет вычислено автоматически.
- symbolстрока или None
-
Строка, которая будет добавлена к метке. Может быть None или пустой, чтобы указать, что символ использовать не нужно. Специальные символы LaTeX в symbol экранируются при включенном режиме LaTeX, если не указано is_latex = True.
- is_latexbool
-
Если False, зарезервированные символы LaTeX в symbol будут экранированы.
- convert_to_pct(x)[source]
- format_pct(x, display_range)[source]
-
Форматирование числа как процента с правильным количеством знаков после запятой и добавление символа процента, если он есть.
Если
self.decimals—None, количество цифр после запятой устанавливается на основе display_range оси следующим образом:display_range
decimals
пример
>50
0
x = 34.5=> 35%>5
1
x = 34.5=> 34,5%>0,5
2
x = 34.5=> 34,50%...
...
...
Этот метод не будет очень эффективен для очень маленьких или очень больших диапазонов осей. Предполагается, что значения на графике представляют собой проценты, отображаемые в разумном масштабе.
- свойствоsymbol
-
Настроенный символ процента в виде строки.
Если LaTeX включен с помощью
rcParams["text.usetex"](по умолчанию:False), специальные символы{'#', '$', '%', '&', '~', '_', '^', '\', '{', '}'}в строке автоматически экранируются.
- классmatplotlib.ticker.ScalarFormatter(useOffset=None, useMathText=None, useLocale=None)[source]
-
Основы:
FormatterФорматирование значений тиков как числа.
- Параметры:
-
-
useOffsetbool или float, по умолчанию:
rcParams["axes.formatter.useoffset"](по умолчанию:True) -
Использовать ли обозначение смещения. См.
set_useOffset. -
useMathTextbool, по умолчанию:
rcParams["axes.formatter.use_mathtext"](по умолчанию:False) -
Использовать ли форматирование математических символов. См.
set_useMathText. -
useLocalebool, по умолчанию:
rcParams["axes.formatter.use_locale"](по умолчанию:False). -
Использовать ли настройки локали для разделителя десятичных знаков и знака плюс. См.
set_useLocale.
-
useOffsetbool или float, по умолчанию:
Примечания
В дополнение к вышеперечисленным параметрам, форматирование научной записи по сравнению с плавающей точкой можно настроить с помощью
set_scientificиset_powerlimits.Обозначение смещения и научная запись
Обозначение смещения и научная запись на первый взгляд выглядят очень похожими. Оба разделяют некоторые данные от форматированных значений тиков и отображают их в конце оси.
- Научная запись разделяет порядок величины, то есть множительный масштабный коэффициент, например,
1e6. - Обозначение смещения разделяет аддитивную константу, например,
+1e6. Обозначение смещения всегда предваряется знаком+или-и поэтому отличается от метки порядка величины.
Следующий график с пределами оси x от
1_000_000до1_000_010иллюстрирует различные форматы. Обратите внимание на метки справа от оси x.(Исходный код, 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, которое записывается на край оси.
- propertyuseLocale
-
Возвращает, используются ли настройки локали для форматирования.
См. также
- propertyuseMathText
-
Возвращает, используется ли форматирование с использованием математических обозначений.
См. также
- propertyuseOffset
-
Возвращает, активен ли автоматический режим для обозначения смещения.
Возвращает True, если
set_useOffset(True); возвращает False, если было задано явное смещение, напримерset_useOffset(1000).См. также
- classmatplotlib.ticker.StrMethodFormatter(fmt)[source]
-
Базовый класс:
FormatterИспользуйте строковый шаблон нового стиля (как используется в
str.format) для форматирования метки.Поле, используемое для значения метки, должно быть помечено x, а поле, используемое для положения метки, должно быть помечено pos.
- classmatplotlib.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, просто вызовите экземпляр локатора:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- view_limits(vmin, vmax)[source]
-
Попытаться разумно выбрать пределы отображения.
- классmatplotlib.ticker.TickHelper[source]
-
Базы:
object- axis=None
- create_dummy_axis(**kwargs)[source]
- set_axis(axis)[source]
- set_bounds(vmin, vmax)[source]
-
[Устаревшее]
Примечания
Устаревшее начиная с версии 3.5: Используйте
Axis.set_view_intervalиAxis.set_data_intervalвместо этого.
- set_data_interval(vmin, vmax)[source]
-
[Устаревшее]
Примечания
Устаревшее начиная с версии 3.5: Используйте
Axis.set_data_intervalвместо этого.
- set_view_interval(vmin, vmax)[source]
-
[Устаревшее]
Примечания
Устаревшее начиная с версии 3.5: Используйте
Axis.set_view_intervalвместо этого.
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/ticker_api.html