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