matplotlib.ticker
Поиск и форматирование делений шкалы
Этот модуль содержит классы для настройки поиска и форматирования делений шкалы. Предоставляются общие локейторы и форматировщики делений, а также специализированные для конкретных областей.
Хотя локейторы не знают о основных или дополнительных делениях шкалы, они используются классом Axis для поддержки поиска и форматирования основных и дополнительных делений шкалы.
Поиск делений шкалы
Класс Locator является базовым классом для всех локейторов делений шкалы. Локейторы обрабатывают автоматическое масштабирование пределов отображения на основе пределов данных и выбор расположения делений шкалы. Полезным полуавтоматическим локейтором является MultipleLocator. Он инициализируется основанием, например, 10, и выбирает пределы оси и деления, которые являются кратными этому основанию.
Подклассы Locator, определённые здесь:
| |
Находит до максимального числа интервалов с делениями шкалы в удобных местах. | |
Размещает деления шкалы равномерно от min до max. | |
Размещает деления шкалы логарифмически от min до max. | |
Деления и диапазон являются кратными основанию; целые или вещественные числа. | |
Расположение делений шкалы фиксировано. | |
Локейтор для графиков индексов (например, где | |
Нет делений шкалы. | |
Локейтор для использования с нормой symlog; работает как | |
Локейтор для логит-масштабирования. | |
Локейтор для дополнительных делений шкалы, когда ось линейная, а основные деления шкалы равномерно распределены. Разделяет интервал основных делений на заданное количество дополнительных интервалов, по умолчанию 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.AutoLocator[source]
-
Bases:
matplotlib.ticker.MaxNLocatorДинамически находит позиции основных делений. Это фактически подкласс
MaxNLocatorс параметрами nbins = 'auto' и steps = [1, 2, 2.5, 5, 10].Чтобы узнать значения закрытых параметров, обратитесь к значениям по умолчанию
MaxNLocator.
- classmatplotlib.ticker.AutoMinorLocator(n=None)[source]
-
Bases:
matplotlib.ticker.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]
-
Базы:
matplotlib.ticker.FormatterФорматирование значений осей с использованием инженерных префиксов для представления степеней 1000, плюс указанный единица, например, 10 МГц вместо 1e7.
- Параметры
-
- unitstr, по умолчанию: ""
-
Символ единицы для использования, подходящий для использования с однобуквенными представлениями степеней 1000. Например, 'Hz' или 'м'.
- 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]
-
Базы:
matplotlib.ticker.FormatterВозвращает фиксированные строки для меток тиков, основанные только на позиции, а не на значении.
Примечание
FixedFormatterследует использовать только вместе сFixedLocator. В противном случае метки могут оказаться в неожиданных позициях.Устанавливает последовательность seq строк, которые будут использоваться в качестве меток.
- get_offset()[source]
- set_offset_string(ofs)[source]
- классmatplotlib.ticker.FixedLocator(locs, nbins=None)[source]
-
Базы:
matplotlib.ticker.LocatorПозиции тиков фиксированы. Если nbins не равно None, массив возможных позиций будет подвыбран для поддержания количества тиков ≤ nbins + 1. Подвыборка будет выполнена таким образом, чтобы включить наименьшее абсолютное значение; например, если ноль включен в массив возможных значений, то гарантируется, что он будет одним из выбранных тиков.
- set_params(nbins=None)[source]
-
Устанавливает параметры внутри этого локетора.
- tick_values(vmin, vmax)[source]
-
Возвращает позиции тиков.
Примечание
Поскольку значения фиксированы, vmin и vmax не используются в этом методе.
- классmatplotlib.ticker.FormatStrFormatter(fmt)[source]
-
Базы:
matplotlib.ticker.FormatterИспользуйте строку форматирования старого стиля ('%' оператор) для форматирования метки.
Строка форматирования должна содержать единственный формат переменной (%) в ней. Он будет применён к значению (а не к позиции) метки.
Отрицательные числовые значения будут использовать дефис, а не символ минус в Unicode. Используйте mathtext, чтобы получить минус в Unicode, обернув спецификатор формата в $ (например, "$%g$").
- классmatplotlib.ticker.Formatter[source]
-
Базы:
matplotlib.ticker.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]
-
Базы:
matplotlib.ticker.FormatterИспользуйте пользовательскую функцию для форматирования.
Функция должна принимать два входных значения (значение метки
xи позициюpos) и возвращать строку, содержащую соответствующую метку метки.- get_offset()[source]
- set_offset_string(ofs)[source]
- классmatplotlib.ticker.IndexLocator(base, offset)[source]
-
Базы:
matplotlib.ticker.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:
matplotlib.ticker.LocatorОпределяет расположение делений.
В первый раз при вызове функция попытается установить количество делений для красивого разбиения. Последующие вызовы будут использовать фиксированное количество делений, чтобы сделать удобную интерактивную навигацию.
Используйте параметры presets для установки 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:
matplotlib.ticker.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.Это делается для того, чтобы предупредить пользователя в случае, если его 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:
matplotlib.ticker.FormatterБазовый класс для форматирования делений на логарифмической или симметрично-логарифмической шкале.
Можно использовать напрямую или наследовать.
- Параметры
-
- basefloat, по умолчанию: 10.
-
Основание логарифма, используемое во всех вычислениях.
- labelOnlyBasebool, по умолчанию: False
-
Если True, то деления мечены только при целых степенях основания. Обычно True для основных делений и False для дополнительных делений.
- minor_thresholds(подмножество, все), по умолчанию: (1, 0.4)
-
Если labelOnlyBase равен False, эти два числа управляют метками делений, не являющихся целыми степенями основания; обычно это дополнительные деления. Контролирующим параметром является логарифм диапазона данных оси. В типичном случае, когда основание равно 10, это число декад, охватываемых осью, поэтому мы можем назвать его 'numdec'. Если
numdec <= all, все дополнительные деления будут мечены. Еслиall < numdec <= subset, то будет мечено только подмножество дополнительных делений, чтобы избежать перегрузки. Еслиnumdec > subsetто дополнительные деления не будут мечены. - linthreshNone или float, по умолчанию: None
-
Если используется симметрично-логарифмическая шкала, ее параметр
linthreshдолжен быть указан здесь.
Примечания
Метод
set_locsдолжен быть вызван, чтобы включить логику подмножеств, контролируемую параметромminor_thresholds.В некоторых случаях, таких как цветовая шкала, нет различия между основными и дополнительными делениями; положения делений могут быть заданы вручную или локатором, который помещает деления в целых степенях основания и в промежуточных точках. В этой ситуации отключите логику minor_thresholds, используя
minor_thresholds=(np.inf, np.inf), чтобы все деления были мечены.Чтобы отключить метки дополнительных делений, когда 'labelOnlyBase' равен False, используйте
minor_thresholds=(0, 0). Это значение по умолчанию для стиля "классический".Примеры
Чтобы отметить подмножество дополнительных делений, когда пределы отображения охватывают до 2 декад, а все деления — при масштабировании до 0,5 декады или меньше, используйте
minor_thresholds=(2, 0.5).Чтобы отметить все дополнительные деления, когда пределы отображения охватывают до 1,5 декад, используйте
minor_thresholds=(1.5, 1.5).- base(base)[source]
-
Изменить основание для меток.
Предупреждение
Должно всегда совпадать с основанием, используемым для
LogLocator
- format_data(value)[source]
-
Возвращает полное строковое представление значения без указания позиции.
- format_data_short(value)[source]
-
Возвращает короткую строку значения метки.
По умолчанию используется длинное значение, не зависящее от позиции.
- 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:
matplotlib.ticker.LogFormatterФорматирует значения для логарифмической оси, используя
exponent = log_base(value).
- classmatplotlib.ticker.LogFormatterMathtext(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]
-
Bases:
matplotlib.ticker.LogFormatterФорматирует значения для логарифмической оси, используя
exponent = log_base(value).
- classmatplotlib.ticker.LogFormatterSciNotation(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]
-
Bases:
matplotlib.ticker.LogFormatterMathtextФорматирует значения в научной записи на логарифмической оси.
- classmatplotlib.ticker.LogLocator(base=10.0, subs=(1.0,), numdecs=4, numticks=None)[source]
-
Bases:
matplotlib.ticker.LocatorОпределение меток для логарифмических осей
Размещение меток по значениям : subs[j] * base**i
- Параметры
-
- basefloat, по умолчанию: 10.0
-
Основание логарифма, по которому размещаются метки в значениях
base**n. - subsNone или str или последовательность float, по умолчанию: (1.0,)
-
Указывает кратные целым степеням основания, на которых должны быть размещены метки. По умолчанию метки размещаются только в точках, являющихся целыми степенями основания. Разрешенные строковые значения —
'auto'и'all', оба из которых используют алгоритм, основанный на пределе отображения оси, чтобы определить, и как размещать метки между целыми степенями основания. С'auto', метки размещаются только между целыми степенями; с'all', целые степени основания также включаются. Значение None эквивалентно'auto'. - numticksNone или int, по умолчанию: None
-
Максимальное количество меток, разрешенных на данной оси. По умолчанию (
None), будет использоваться интеллектуальный выбор, если данный локейтор уже назначен оси с помощьюget_tick_space, в противном случае по умолчанию будет 9.
- base(base)[source]
-
Установить основание логарифма (основная метка каждые
base**i, i — целое).
- 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].
- 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='\x0crac{1}{2}', minor=False, minor_threshold=25, minor_number=6)[source]
-
Bases:
matplotlib.ticker.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:
matplotlib.ticker.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:
matplotlib.ticker.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{'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:
matplotlib.ticker.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]
-
Устанавливает пределы просмотра до ближайших кратных base, которые содержат данные.
- classmatplotlib.ticker.NullFormatter[source]
-
Bases:
matplotlib.ticker.FormatterВсегда возвращает пустую строку.
- classmatplotlib.ticker.NullLocator[source]
-
Bases:
matplotlib.ticker.LocatorБез делений
- tick_values(vmin, vmax)[source]
-
Возвращает расположения делений.
Примечание
Поскольку значения нулевые, vmin и vmax в этом методе не используются.
- classmatplotlib.ticker.PercentFormatter(xmax=100, decimals=None, symbol='%', is_latex=False)[source]
-
Bases:
matplotlib.ticker.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%...
...
...
Этот метод не будет очень хорош для очень малых или очень больших диапазонов осей. Он предполагает, что значения на графике — это проценты, отображаемые на разумной шкале.
- propertysymbol
-
Настроенный процентный символ в виде строки.
Если LaTeX включён через
rcParams["text.usetex"](по умолчаниюFalse), специальные символы{'#', '$', '%', '&', '~', '_', '^', '\', '{', '}'}автоматически экранируются в строке.
- classmatplotlib.ticker.ScalarFormatter(useOffset=None, useMathText=None, useLocale=None)[source]
-
Базы:
matplotlib.ticker.FormatterФорматирование значений меток как числа.
- Параметры
-
-
useOffsetbool или float, по умолчанию:
rcParams["axes.formatter.useoffset"](по умолчанию:1e6) -
Использовать ли обозначение смещения. См.
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, pdf)
- 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]
-
Базируется на
matplotlib.ticker.FormatterИспользует строковый формат нового стиля (как в
str.format) для форматирования метки.Поле, используемое для значения метки, должно быть помечено как x, а поле, используемое для позиции метки, должно быть помечено как pos.
- classmatplotlib.ticker.SymmetricalLogLocator(transform=None, subs=None, linthresh=None, base=None)[source]
-
Базируется на
matplotlib.ticker.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]
-
Bases:
object- axis=None
- create_dummy_axis(**kwargs)[source]
- set_axis(axis)[source]
- set_bounds(vmin, vmax)[source]
-
[Устарело]
Примечания
Устарело начиная с версии 3.5:
- set_data_interval(vmin, vmax)[source]
-
[Устарело]
Примечания
Устарело начиная с версии 3.5:
- set_view_interval(vmin, vmax)[source]
-
[Устарело]
Примечания
Устарело начиная с версии 3.5:
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/ticker_api.html