Spec-Zone.ru › Matplotlib 1.5

единицы

matplotlib.units

Классы здесь обеспечивают поддержку использования пользовательских классов с matplotlib, например, тех, которые не предоставляют интерфейс массива, но знают, как преобразовывать себя в массивы. Также поддерживаются классы с единицами измерения и преобразованием единиц. Примеры использования включают преобразователи для пользовательских объектов, например, список объектов datetime, а также для объектов, которые осознают единицы измерения. Мы не предполагаем конкретной реализации единиц измерения, а скорее реализация единиц измерения должна предоставить интерфейс преобразования и зарегистрироваться в словаре преобразователей Registry. Например, вот полная реализация, которая поддерживает построение графиков с помощью собственных объектов datetime:

import matplotlib.units as units
import matplotlib.dates as dates
import matplotlib.ticker as ticker
import datetime

class DateConverter(units.ConversionInterface):

    @staticmethod
    def convert(value, unit, axis):
        'convert value to a scalar or array'
        return dates.date2num(value)

    @staticmethod
    def axisinfo(unit, axis):
        'return major and minor tick locators and formatters'
        if unit!='date': return None
        majloc = dates.AutoDateLocator()
        majfmt = dates.AutoDateFormatter(majloc)
        return AxisInfo(majloc=majloc,
                        majfmt=majfmt,
                        label='date')

    @staticmethod
    def default_units(x, axis):
        'return the default unit for x or None'
        return 'date'

# finally we register our object type with a converter
units.registry[datetime.date] = DateConverter()
class matplotlib.units.AxisInfo(majloc=None, minloc=None, majfmt=None, minfmt=None, label=None, default_limits=None)

Основывается на: object

информация для поддержки подписи оси по умолчанию и меток делений, а также предельных значений по умолчанию

majloc и minloc: TickLocators для основных и вспомогательных делений majfmt и minfmt: TickFormatters для основных и вспомогательных делений label: подпись оси по умолчанию default_limits: минимальное и максимальное значения оси по умолчанию, если данные отсутствуют. Если какое-либо из вышеперечисленного равно None, ось просто использует значение по умолчанию

class matplotlib.units.ConversionInterface

Основывается на: object

Минимальный интерфейс для преобразователя, принимающего пользовательские экземпляры (или последовательности) и преобразующего их в значения, которые mpl может использовать

static axisinfo(unit, axis)

возвращает экземпляр units.AxisInfo для оси с указанными единицами измерения

static convert(obj, unit, axis)

преобразует obj, используя единицы для указанной оси. Если obj — последовательность, возвращает преобразованную последовательность. Выход должен быть последовательностью скаляров, которые могут использоваться слоем массивов numpy

static default_units(x, axis)

возвращает значение по умолчанию для единиц x или None для данной оси

static is_numlike(x)

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

class matplotlib.units.Registry

Основывается на: dict

регистрация типов с интерфейсом преобразования

get_converter(x)

получение экземпляра интерфейса преобразования для x или None

© 2012–2017 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/2.0.2/api/units_api.html

Spec-Zone.ru

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