matplotlib.ticker
Определение и форматирование делений шкалы
Этот модуль содержит классы для настройки определения и форматирования делений шкалы. Предоставляются универсальные локеи и форматировщики делений, а также специализированные, для конкретных областей.
Хотя локеи не знают о больших или малых делениях, они используются классом Axis для поддержки определения и форматирования больших и малых делений.
Определение делений шкалы
Класс Locator является базовым классом для всех локеров делений. Локеи обрабатывают автоматическое масштабирование пределов отображения на основе пределов данных и выбор расположения делений. Полезный полуавтоматический локер делений — MultipleLocator. Он инициализируется базовым значением, например, 10, и выбирает пределы оси и деления, которые являются кратными этому базовому значению.
Подклассы Locator, определённые здесь:
| |
Находит до максимального количества интервалов с делениями в удобных местах. | |
Равномерно размещает деления от min до max. | |
Размещает деления логарифмически от min до max. | |
Деления и диапазон являются кратными base; либо целое, либо число с плавающей точкой. | |
Расположение делений фиксировано. | |
Локер для графиков индексов (например, где | |
Нет делений. | |
Локер для использования с симметричной логарифмической нормой; работает как | |
Локер для использования с нормой 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), когда основание равно 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, оно будет установлено в 5 или 4.
- tick_values(vmin, vmax)[source]
-
Возвращает значения размещенных делений, заданных vmin и vmax.
Примечание
Для получения позиций делений с автоматически определенными значениями vmin и vmax для соответствующей
axisпросто вызовите экземпляр локатора:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- классmatplotlib.ticker.EngFormatter(unit='', places=None, sep=' ', *, usetex=None, useMathText=None)[source]
-
Базы:
FormatterФорматирование значений осей с использованием инженерных префиксов для представления степеней 1000, плюс указанный единицы, например, 10 МГц вместо 1e7.
- Параметры:
-
- unitstr, по умолчанию: ""
-
Символ единицы, подходящий для использования с однобуквенными обозначениями степеней 1000. Например, 'Hz' или 'm'.
- placesint, по умолчанию: None
-
Точность отображения числа, заданная количеством цифр после десятичной точки (будет от одной до трёх цифр перед десятичной точкой). Если None, форматирование возвращается к плавающей точке '%g', которая отображает до 6 значимых цифр, т.е. эквивалентное значение для places изменяется от 0 до 5 включительно.
- sepstr, по умолчанию: " "
-
Разделитель, используемый между значением и префиксом/единицей. Например, вы получите '3.14 мВ', если
sepравно " " (по умолчанию) и '3.14мВ', еслиsepравно "". Помимо стандартного поведения, некоторые другие полезные варианты могут быть:-
sep=""для непосредственного добавления префикса/единицы к значению; -
sep="\N{THIN SPACE}"(U+2009); -
sep="\N{NARROW NO-BREAK SPACE}"(U+202F); -
sep="\N{NO-BREAK SPACE}"(U+00A0).
-
-
usetexbool, по умолчанию:
rcParams["text.usetex"](по умолчанию:False) -
Включить/выключить использование математического режима TeX для рендеринга чисел в форматировщике.
-
useMathTextbool, по умолчанию:
rcParams["axes.formatter.use_mathtext"](по умолчанию:False) -
Включить/выключить использование mathtext для рендеринга чисел в форматировщике.
- ENG_PREFIXES={-24: 'y', -21: 'z', -18: 'a', -15: 'f', -12: 'p', -9: 'n', -6: 'µ', -3: 'm', 0: '', 3: 'k', 6: 'M', 9: 'G', 12: 'T', 15: 'P', 18: 'E', 21: 'Z', 24: 'Y'}
- format_eng(num)[source]
-
Форматирование числа в инженерном формате, добавляя букву, представляющую степень 1000 исходного числа. Некоторые примеры:
>>> format_eng(0) # for self.places = 0 '0'
>>> format_eng(1000000) # for self.places = 1 '1.0 M'
>>> format_eng(-1e-6) # for self.places = 2 '-1.00 µ'
- get_useMathText()[source]
- get_usetex()[source]
- set_useMathText(val)[source]
- set_usetex(val)[source]
- свойствоuseMathText
- свойствоusetex
- классmatplotlib.ticker.FixedFormatter(seq)[source]
-
Базы:
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 минус; для получения символа Unicode минус используйте mathtext, обернув спецификатор форматирования в $ (например, "$%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Размещает метку на каждом кратном некоторому основанию числу нарисованных точек, например, на каждой пятой точке. Предполагается, что вы выполняете индексное построение; т.е., ось имеет значения от 0 до длины данных. Это в основном полезно для меток 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.
- 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.
Подклассы должны переопределить этот метод, чтобы изменить поведение локейтора.
- классmatplotlib.ticker.LogFormatter(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]
-
Базовый класс для форматирования делений на логарифмической или симметрично-логарифмической шкале.
Можно использовать напрямую или наследоваться от него.
- Параметры:
-
- basefloat, по умолчанию: 10.
-
Основание логарифма, используемое во всех вычислениях.
- labelOnlyBasebool, по умолчанию: False
-
Если True, метки делений отображаются только при целых степенях основания. Обычно True для основных делений и False для вспомогательных.
- minor_thresholds(подмножество, все), по умолчанию: (1, 0.4)
-
Если labelOnlyBase равно False, эти два числа управляют отображением делений, которые не являются целыми степенями основания; обычно это вспомогательные деления. Управляющим параметром является логарифм диапазона данных оси. В типичном случае, когда base равно 10, это количество десятичных разрядов, охватываемых осью, поэтому мы можем назвать его 'numdec'. Если
numdec <= all, все вспомогательные деления будут иметь метки. Еслиall < numdec <= subset, то будут отображаться только некоторые вспомогательные деления, чтобы избежать перегрузки. Еслиnumdec > subset, то вспомогательные деления не будут иметь меток. - linthreshNone или float, по умолчанию: None
-
Если используется симметрично-логарифмическая шкала, ее параметр
linthreshдолжен быть указан здесь.
Примечания
Метод
set_locsдолжен быть вызван, чтобы включить логику подмножества, управляемую параметромminor_thresholds.В некоторых случаях, таких как цветовая шкала, нет различия между основными и вспомогательными делениями; расположения делений могут быть заданы вручную или с помощью локализации, которая помещает деления в целые степени основания и промежуточные значения. В этой ситуации отключите логику minor_thresholds, используя
minor_thresholds=(np.inf, np.inf), чтобы все деления были помечены.Чтобы отключить отображение вспомогательных делений, когда 'labelOnlyBase' равно False, используйте
minor_thresholds=(0, 0). Это значение по умолчанию для стиля "классический".Примеры
Чтобы отобразить подмножество вспомогательных делений, когда пределы просмотра охватывают до 2 десятичных разрядов, и все деления, когда масштаб уменьшен до 0,5 десятичных разрядов или меньше, используйте
minor_thresholds=(2, 0.5).Чтобы отобразить все вспомогательные деления, когда пределы просмотра охватывают до 1,5 десятичных разрядов, используйте
minor_thresholds=(1.5, 1.5).- base(base)[source]
-
[Устарело] Изменить 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 игнорируется в текущем алгоритме.
- классmatplotlib.ticker.LogFormatterExponent(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]
-
Базы:
LogFormatterФорматирование значений для логарифмической оси с использованием
exponent = log_base(value).
- классmatplotlib.ticker.LogFormatterMathtext(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]
-
Базы:
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 или {'auto', 'all'} или последовательность чисел с плавающей точкой, по умолчанию: (1.0,)
-
Определяет кратные степеням основания, на которых следует размещать метки. По умолчанию (
(1.0, )) метки размещаются только на целых степенях основания. Разрешенные строковые значения:'auto'и'all'. Оба этих значения используют алгоритм, основанный на предельных значениях отображения оси, чтобы определить, необходимо ли и как размещать метки между целыми степенями основания. С'auto'метки размещаются только между целыми степенями; с'all'целые степени также включаются. Значение None эквивалентно'auto'. - numticksNone или целое число, по умолчанию: None
-
Максимальное количество меток на данной оси. По умолчанию (
None) будет осуществляться интеллектуальный выбор, пока этот локатор не будет назначен на ось с помощьюget_tick_space, в противном случае значение по умолчанию будет 9.
Размещение меток на позициях : subs[j] * base**i.
- 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]
-
Попытка интеллектуального выбора пределов отображения.
- классmatplotlib.ticker.LogitFormatter(*, use_overline=False, one_half='\\frac{1}{2}', minor=False, minor_threshold=25, minor_number=6)[source]
-
Основы:
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$.
- классmatplotlib.ticker.LogitLocator(minor=False, *, nbins='auto')[source]
-
Основы:
MaxNLocatorОпределяет расположения делений для логарифмических осей
Размещает деления в местах логарифмических значений
- Параметры:
-
- nbinsint или 'auto', необязательно
-
Количество делений. Используется только если minor равен False.
- minorbool, по умолчанию: False
-
Указывает, предназначен ли данный локализатор для малых делений или нет.
- свойствоminor
- 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; например, [1, 2, 4, 5, 10], где значения являются допустимыми кратными меток. Т.е. для примера, 20, 40, 60 были бы допустимым набором меток, так же как 0,4, 0,6, 0,8, потому что они являются кратными 2. Однако 30, 60, 90 не будут разрешены, потому что 3 не появляется в списке шагов.
- integerbool, по умолчанию: False
-
Если True, метки будут принимать только целые значения, при условии, что по крайней мере min_n_ticks целых чисел находятся в пределах области просмотра.
- symmetricbool, по умолчанию: False
-
Если True, автоматическое масштабирование приведет к диапазону, симметричному относительно нуля.
- prune{'lower', 'upper', 'both', None}, по умолчанию: None
-
Удалить крайние метки — полезно для наложенных или связанных графиков, где верхняя метка одной оси перекрывает нижнюю метку оси выше нее, прежде всего, когда
rcParams["axes.autolimit_mode"](по умолчанию:'data') является'round_numbers'. Еслиprune=='lower', самая маленькая метка будет удалена. Еслиprune == 'upper', самая большая метка будет удалена. Еслиprune == 'both', самые большие и самые маленькие метки будут удалены. Если prune равно None, никакие метки не будут удалены. - min_n_ticksint, по умолчанию: 2
-
Смягчить ограничения nbins и integer при необходимости, чтобы получить это минимальное количество меток.
- default_params={'integer': False, 'min_n_ticks': 2, 'nbins': 10, 'prune': None, 'steps': None, 'symmetric': False}
- set_params(**kwargs)[source]
-
Устанавливает параметры для этого локатора.
- Параметры:
-
- nbinsint или 'auto', необязательно
-
см.
MaxNLocator - stepsпоследовательность, необязательно
-
см.
MaxNLocator - integerbool, необязательно
-
см.
MaxNLocator - symmetricbool, необязательно
-
см.
MaxNLocator - prune{'lower', 'upper', 'both', None}, необязательно
-
см.
MaxNLocator - min_n_ticksint, необязательно
-
см.
MaxNLocator
- tick_values(vmin, vmax)[source]
-
Возвращает значения расположенных меток, заданных vmin и vmax.
Примечание
Чтобы получить расположения меток со значениями vmin и vmax, определенными автоматически для связанной
axis, просто вызовите экземпляр локатора:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- view_limits(dmin, dmax)[source]
-
Выбирает масштаб для диапазона от vmin до vmax.
Подклассы должны переопределять этот метод для изменения поведения локатора.
- classmatplotlib.ticker.MultipleLocator(base=1.0)[source]
-
Bases:
LocatorУстанавливает метку на каждом целом кратном base в пределах интервала просмотра.
- set_params(base)[source]
-
Установка параметров внутри этого локатора.
- tick_values(vmin, vmax)[source]
-
Возвращает значения расположенных меток, заданных vmin и vmax.
Примечание
Чтобы получить расположения меток со значениями vmin и vmax, определенными автоматически для связанной
axis, просто вызовите экземпляр локатора:>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- view_limits(dmin, dmax)[source]
-
Устанавливает пределы просмотра до ближайших кратных base, которые содержат данные.
- classmatplotlib.ticker.NullFormatter[source]
-
Bases:
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 (по умолчанию), количество знаков вычисляется автоматически.
- symbolstr или None
-
Строка, которая будет добавлена к метке. Может быть None или пустой, чтобы указать, что символ не должен использоваться. Специальные символы LaTeX в symbol экранируются, когда включён режим LaTeX, если только is_latex не равно True.
- is_latexbool
-
Если False, зарезервированные символы LaTeX в symbol будут экранированы.
- convert_to_pct(x)[source]
- format_pct(x, display_range)[source]
-
Форматирование числа в виде числа процентов с правильным количеством знаков после запятой и добавлением символа процента, если он есть.
Если
self.decimalsравноNone, количество цифр после запятой устанавливается на основе display_range оси следующим образом:display_range
decimals
пример
>50
0
x = 34.5=> 35%>5
1
x = 34.5=> 34,5%>0,5
2
x = 34.5=> 34,50%...
...
...
Этот метод не будет эффективным для очень маленьких или очень больших диапазонов осей. Предполагается, что значения на диаграмме представляют проценты, отображаемые на разумной шкале.
- свойство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,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]
-
Попытка интеллектуально выбрать пределы просмотра.
- classmatplotlib.ticker.TickHelper[source]
-
Основывается на
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.7.5/api/ticker_api.html