Spec-Zone.ru › Matplotlib 1.5

ticker

matplotlib.ticker

Расположение и форматирование делений

Этот модуль содержит классы для поддержки полностью настраиваемого расположения и форматирования делений. Хотя локаторы не знают ничего о основных или дополнительных делениях, они используются классом Axis для поддержки расположения и форматирования основных и дополнительных делений. Предоставляются общие локаторы и форматировщики делений, а также специализированные для определенных областей.

Форматировщик по умолчанию

Форматировщик по умолчанию определяет, когда данные x, которые отображаются, представляют собой небольшой диапазон поверх большого смещения. Для уменьшения вероятности перекрытия меток делений метки делений помечены как разности от фиксированного смещения. Например:

ax.plot(np.arange(2000, 2010), range(10))

будет иметь деления от 0 до 9 со смещением +2e3. Если этого не нужно, отключите использование смещения в форматировщике по умолчанию:

ax.get_xaxis().get_major_formatter().set_useOffset(False)

установите rcParam axes.formatter.useoffset=False для глобального отключения или установите другой форматировщик.

Расположение делений

Класс Locator является базовым классом для всех локаторов делений. Локаторы обрабатывают автоматическое масштабирование пределов отображения на основе пределов данных и выбор расположения делений. Полезный полуавтоматический локатор делений — это MultipleLocator. Его инициализируют с основанием, например, 10, и он выбирает пределы оси и деления, которые являются кратными вашему основанию.

Подклассы Locator, определённые здесь:

NullLocator
Отсутствуют деления
FixedLocator
Расположение делений фиксировано
IndexLocator
Локатор для графиков индексов (например, где x = range(len(y)))
LinearLocator
Равномерно распределенные деления от min до max
LogLocator
Логарифмические деления от min до max
SymmetricalLogLocator
Локатор для использования с нормой symlog, работает как LogLocator для части вне порога и добавляет 0, если внутри пределов
MultipleLocator
деления и диапазон — кратны основанию;
целое или вещественное число
OldAutoLocator
выберите MultipleLocator и динамически переназначьте его для интеллектуального выбора делений во время навигации
MaxNLocator
находит до максимального количества делений в удобных местах
AutoLocator
MaxNLocator с простыми значениями по умолчанию. Это локатор делений по умолчанию для большинства графиков.
AutoMinorLocator
локатор для дополнительных делений, когда ось линейная, а основные деления равномерно распределены. Он разбивает интервал основных делений на заданное количество дополнительных интервалов, по умолчанию 4 или 5, в зависимости от интервала основных делений.

Существует ряд локаторов, специализирующихся на расположении дат — см. модуль dates.

Вы можете определить свой собственный локатор, производя его от Locator. Вам необходимо переопределить метод __call__, который возвращает последовательность местоположений, и, вероятно, вам захочется переопределить метод autoscale для задания пределов отображения по пределом данных.

Если вы хотите переопределить локатор по умолчанию, используйте один из вышеперечисленных или настраиваемый локатор и передайте его экземпляру оси x или y. Соответствующие методы:

ax.xaxis.set_major_locator( xmajorLocator )
ax.xaxis.set_minor_locator( xminorLocator )
ax.yaxis.set_major_locator( ymajorLocator )
ax.yaxis.set_minor_locator( yminorLocator )

Локатор дополнительных делений по умолчанию — это NullLocator, т.е. по умолчанию дополнительных делений нет.

Форматирование делений

Форматирование делений контролируется классами, производными от Formatter. Форматировщик обрабатывает одно значение деления и возвращает строку оси.

NullFormatter
метки делений отсутствуют
IndexFormatter
установите строки из списка меток
FixedFormatter
установите строки для меток вручную
FuncFormatter
пользовательская функция устанавливает метки
StrMethodFormatter
Использование строки format метода
FormatStrFormatter
использование строки форматирования sprintf
ScalarFormatter
Форматировщик по умолчанию для скалярных значений; автоматически выбирает строку fmt
LogFormatter
Форматировщик для логарифмических осей

Вы можете создать свой собственный форматировщик, производя его от базового класса Formatter, просто переопределив метод __call__. Класс форматировщика имеет доступ к пределом отображения и данных оси.

Для управления форматированием меток основных и дополнительных делений используйте один из следующих методов:

ax.xaxis.set_major_formatter( xmajorFormatter )
ax.xaxis.set_minor_formatter( xminorFormatter )
ax.yaxis.set_major_formatter( ymajorFormatter )
ax.yaxis.set_minor_formatter( yminorFormatter )

См. пример pylab_examples: major_minor_demo1.py для примера установки основных и дополнительных делений. См. модуль matplotlib.dates для получения дополнительной информации и примеров использования локаторов и форматировщиков дат.

class matplotlib.ticker.TickHelper

Bases: object

axis = None
create_dummy_axis(**kwargs)
set_axis(axis)
set_bounds(vmin, vmax)
set_data_interval(vmin, vmax)
set_view_interval(vmin, vmax)
class matplotlib.ticker.Formatter

Bases: matplotlib.ticker.TickHelper

Преобразует расположение деления в строку

fix_minus(s)

Некоторые классы могут захотеть заменить дефис на минус соответствующим символом Unicode (U+2212) для типографической точности. По умолчанию замены не производится.

Обратите внимание, если вы используете этот метод, например, в format_data() или вызове, вероятно, не стоит его использовать для format_data_short(), так как панель инструментов использует его для интерактивного отчёта о координатах, и вряд ли можно ожидать, что интерфейсы пользователя разных платформ будут правильно обрабатывать символы Unicode. Поэтому на данный момент классы, переопределяющие fix_minus(), должны иметь явное определение метода format_data_short()

format_data(value)
format_data_short(value)

возвращает короткую строковую версию

get_offset()
locs = []
set_locs(locs)
class matplotlib.ticker.FixedFormatter(seq)

Bases: matplotlib.ticker.Formatter

Возвращает фиксированные строки для меток делений

seq — последовательность строк. Для позиций i < len(seq) возвращает seq[i] независимо от x. В противном случае возвращает ‘’

get_offset()
set_offset_string(ofs)
class matplotlib.ticker.NullFormatter

Bases: matplotlib.ticker.Formatter

Всегда возвращает пустую строку

class matplotlib.ticker.FuncFormatter(func)

Bases: matplotlib.ticker.Formatter

Пользовательская функция для форматирования

Функция должна принимать два входа (значение деления x и позицию pos) и возвращать строку

END_OF_DOCUMENT_MARKER
class matplotlib.ticker.FormatStrFormatter(fmt)

Bases: matplotlib.ticker.Formatter

Используйте строку форматирования старого стиля (‘%’ оператор) для форматирования делений шкалы

class matplotlib.ticker.StrMethodFormatter(fmt)

Bases: matplotlib.ticker.Formatter

Используйте строку форматирования нового стиля (как используется в str.format()) для форматирования делений шкалы. Форматирование поля должно быть помечено x.

class matplotlib.ticker.ScalarFormatter(useOffset=None, useMathText=None, useLocale=None)

Bases: matplotlib.ticker.Formatter

Позиция деления шкалы — простое число. Если useOffset==True и диапазон данных намного меньше среднего значения данных, то будет определён смещение, чтобы метки делений шкалы были осмысленными. Научная запись используется для данных < 10^-n или данных >= 10^m, где n и m — пределы степени, установленные с помощью set_powerlimits((n,m)). Значения по умолчанию контролируются параметром axes.formatter.limits rc.

fix_minus(s)

Используйте символ минус Unicode вместо дефиса

format_data(value)

Возвращает отформатированную строку представления числа

format_data_short(value)

Возвращает короткий отформатированный строковый вид представления числа

get_offset()

Возвращает научную запись плюс смещение

get_useLocale()
get_useOffset()
pprint_val(x)
set_locs(locs)

Устанавливает положения делений шкалы

set_powerlimits(lims)

Устанавливает пороговые значения размера для научной записи.

Например, formatter.set_powerlimits((-3, 4)) устанавливает значение по умолчанию до 2007 года, в котором научная запись используется для чисел меньше 1e-3 или больше 1e4. См. также set_scientific().

set_scientific(b)

Истина или ложь для включения или выключения научной записи. См. также set_powerlimits()

set_useLocale(val)
set_useOffset(val)
useLocale
useOffset
class matplotlib.ticker.LogFormatter(base=10.0, labelOnlyBase=True)

Bases: matplotlib.ticker.Formatter

Форматирование значений для логарифмической оси;

base используется для определения десятка делений шкалы, который будет единственным помеченным, если labelOnlyBase равно False

base(base)

изменение base для маркировки - предупреждение: должно всегда соответствовать основанию, используемому для LogLocator

format_data(value)
format_data_short(value)

Возвращает короткий отформатированный строковый вид представления числа

label_minor(labelOnlyBase)

Включение/выключение маркировки малых делений шкалы

pprint_val(x, d)
class matplotlib.ticker.LogFormatterExponent(base=10.0, labelOnlyBase=True)

Bases: matplotlib.ticker.LogFormatter

Форматирование значений для логарифмической оси; с использованием exponent = log_base(value)

base используется для определения десятка делений шкалы, который будет единственным помеченным, если labelOnlyBase равно False

class matplotlib.ticker.LogFormatterMathtext(base=10.0, labelOnlyBase=True)

Bases: matplotlib.ticker.LogFormatter

Форматирование значений для логарифмической оси; с использованием exponent = log_base(value)

base используется для определения десятка делений шкалы, который будет единственным помеченным, если labelOnlyBase равно False

class matplotlib.ticker.Locator

Bases: matplotlib.ticker.TickHelper

Определение расположения делений шкалы;

Обратите внимание, что вы не должны использовать один и тот же локатор между разными Axis, так как локатор хранит ссылки на данные оси и пределы области просмотра.

MAXTICKS = 1000
autoscale()

Автоматическое масштабирование пределов области просмотра

pan(numsteps)

Прокрутка numticks (может быть положительным или отрицательным)

raise_if_exceeds(locs)

вызывает RuntimeError, если Locator пытается создать более MAXTICKS loc

refresh()

обновить внутреннюю информацию на основе текущего предела

set_params(**kwargs)

Ничего не делает и вызывает предупреждение. Любой класс локатора, не поддерживающий функцию set_params(), вызовет это.

tick_values(vmin, vmax)

Возвращает значения размеченных делений шкалы, заданные vmin и vmax.

Примечание

Чтобы получить позиции делений шкалы с автоматически определёнными значениями vmin и vmax для связанной axis , просто вызовите экземпляр Locator:

>>> print((type(loc)))
<type 'Locator'>
>>> print((loc()))
[1, 2, 3, 4]
view_limits(vmin, vmax)

выбор масштаба для диапазона от vmin до vmax

Обычно этот метод переопределяется подклассами для изменения поведения локализации.

zoom(direction)

Увеличить/уменьшить масштаб оси; если направление >0, увеличить масштаб, иначе уменьшить

class matplotlib.ticker.IndexLocator(base, offset)

Bases: matplotlib.ticker.Locator

Поместить деление шкалы на каждом кратном определенному базовому числу точек, нанесенных на график, например, на каждой пятой точке. Предполагается, что вы выполните построение по индексам; т.е., ось — 0, len(данные). Это преимущественно полезно для делений шкалы x.

разместите деления шкалы на i-й точках данных, где (i-смещение)%база==0

set_params(base=None, offset=None)

Установить параметры в данном локаторе

tick_values(vmin, vmax)
class matplotlib.ticker.FixedLocator(locs, nbins=None)

Bases: matplotlib.ticker.Locator

Положения делений шкалы фиксированы. Если nbins не равно None, массив возможных позиций будет подвергнут субдискретизации, чтобы число делений шкалы было <= nbins +1. Субдискретизация будет выполнена таким образом, чтобы включать наименьшее по абсолютной величине значение; например, если ноль включён в массив возможных значений, то он гарантированно будет одним из выбранных делений шкалы.

set_params(nbins=None)

Установить параметры в данном локаторе.

tick_values(vmin, vmax)

Возвращает позиции делений шкалы.

Примечание

Поскольку значения фиксированы, vmin и vmax в этом методе не используются.

class matplotlib.ticker.NullLocator

Bases: matplotlib.ticker.Locator

Нет делений шкалы

tick_values(vmin, vmax)

Возвращает позиции делений шкалы.

Примечание

Поскольку значения Null, vmin и vmax в этом методе не используются.

class matplotlib.ticker.LinearLocator(numticks=None, presets=None)

Базы: matplotlib.ticker.Locator

Определение расположения делений шкалы

В первый раз при вызове этой функции она попытается установить количество делений для создания красивого разделения. В дальнейшем количество делений будет фиксироваться для удобства интерактивного навигации.

Используйте предопределённые значения для установки locs на основе lom. Словарь, сопоставляющий vmin, vmax -> locs

set_params(numticks=None, presets=None)

Установить параметры внутри этого локета.

tick_values(vmin, vmax)
view_limits(vmin, vmax)

Попытка разумно выбрать пределы отображения

class matplotlib.ticker.LogLocator(base=10.0, subs=[1.0], numdecs=4, numticks=15)

Базы: matplotlib.ticker.Locator

Определение расположения делений шкалы логарифмических осей

Поместить деления в позиции location= base**i*subs[j]

base(base)

Установить основание логарифмической шкалы (главное деление каждые base**i, i целое число)

set_params(base=None, subs=None, numdecs=None, numticks=None)

Установить параметры внутри этого локета.

subs(subs)

Установить дополнительные деления на логарифмической шкале каждые base**i*subs[j]

tick_values(vmin, vmax)
view_limits(vmin, vmax)

Попытка разумно выбрать пределы отображения

class matplotlib.ticker.AutoLocator

Базы: matplotlib.ticker.MaxNLocator

class matplotlib.ticker.MultipleLocator(base=1.0)

Базы: matplotlib.ticker.Locator

Установить деление на каждом целом числе, кратном base, в интервале отображения

set_params(base)

Установить параметры внутри этого локета.

tick_values(vmin, vmax)
view_limits(dmin, dmax)

Установить пределы отображения на ближайшие кратные base, содержащие данные

class matplotlib.ticker.MaxNLocator(*args, **kwargs)

Базы: matplotlib.ticker.Locator

Выбрать не более N интервалов в красивых местах.

Ключевые параметры:

nbins
Максимальное количество интервалов; на один меньше, чем максимальное количество делений.
steps
Последовательность красивых чисел, начиная с 1 и заканчивая 10; например, [1, 2, 4, 5, 10]
integer
Если True, деления будут принимать только целые значения.
symmetric
Если True, автоматическое масштабирование приведет к диапазону, симметричному относительно нуля.
prune
[‘нижний’ | ‘верхний’ | ‘оба’ | None] Удалить крайние деления – полезно для стопки или связанных графиков, где верхнее деление одной оси перекрывает нижнее деление оси над ней. Если prune==‘нижний’, удаляется наименьшее деление. Если prune==‘верхний’, удаляется наибольшее деление. Если prune==‘оба’, удаляются наибольшее и наименьшее деления. Если prune==None, деления не удаляются.
bin_boundaries(vmin, vmax)
default_params = {'nbins': 10, 'prune': None, 'symmetric': False, 'steps': None, 'integer': False, 'trim': True}
set_params(**kwargs)

Установить параметры внутри этого локета.

tick_values(vmin, vmax)
view_limits(dmin, dmax)
class matplotlib.ticker.AutoMinorLocator(n=None)

Базы: matplotlib.ticker.Locator

Динамически находит положения дополнительных делений на основе позиций основных делений. Предполагается, что масштаб линейный, а основные деления равномерно распределены.

n — количество подделений интервала между основными делениями; например, n=2 поместит одно дополнительное деление посередине между основными делениями.

Если n опущено или равно None, оно будет установлено в 5 или 4.

tick_values(vmin, vmax)
class matplotlib.ticker.SymmetricalLogLocator(transform, subs=None)

Базы: matplotlib.ticker.Locator

Определение расположения делений шкалы логарифмических осей

Поместить деления в позиции location= base**i*subs[j]

set_params(subs=None, numticks=None)

Установить параметры внутри этого локета.

tick_values(vmin, vmax)
view_limits(vmin, vmax)

Попытка разумно выбрать пределы отображения

© 2012–2016 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/1.5.3/api/ticker_api.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API