Spec-Zone.ru › Matplotlib

matplotlib.units

Классы здесь обеспечивают поддержку использования пользовательских классов с Matplotlib, например, тех, которые не экспонируют интерфейс массива, но знают, как преобразовать себя в массивы. Также поддерживаются классы с единицами измерения и преобразованием единиц. Примеры использования включают преобразователи для пользовательских объектов, например, список объектов datetime, а также для объектов, которые учитывают единицы измерения. Мы не предполагаем никакой конкретной реализации единиц; скорее, реализация единиц должна зарегистрироваться в словаре преобразователей Registry и предоставить ConversionInterface. Например, вот полная реализация, которая поддерживает построение графиков с использованием собственных объектов 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 a datetime 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 units.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 the Matplotlib units registry.
units.registry[datetime.date] = DateConverter()
classmatplotlib.units.AxisInfo(majloc=None, minloc=None, majfmt=None, minfmt=None, label=None, default_limits=None)[source]

Bases: object

Информация для поддержки стандартной подписи осей, метки делений и пределов.

Экземпляр этого класса должен возвращаться методом ConversionInterface.axisinfo.

Параметры:
majloc, minlocLocator, необязательно

Локаторы делений для основных и второстепенных делений.

majfmt, minfmtFormatter, необязательно

Форматировщики делений для основных и второстепенных делений.

labelstr, необязательно

Стандартная подпись оси.

default_limitsнеобязательно

Стандартные минимальные и максимальные пределы оси, если данные не были построены.

Примечания

Если какие-либо из вышеперечисленных параметров None, ось просто использует значение по умолчанию.

exceptionmatplotlib.units.ConversionError[source]

Bases: TypeError

classmatplotlib.units.ConversionInterface[source]

Bases: object

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

staticaxisinfo(unit, axis)[source]

Возвращает AxisInfo для оси со заданными единицами.

staticconvert(obj, unit, axis)[source]

Преобразует obj, используя unit для указанной axis.

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

staticdefault_units(x, axis)[source]

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

classmatplotlib.units.DecimalConverter[source]

Bases: ConversionInterface

Преобразователь для данных decimal.Decimal в float.

staticconvert(value, unit, axis)[source]

Преобразует Decimal в float.

Аргументы unit и axis не используются.

Параметры:
valuedecimal.Decimal или итерируемый объект

Decimal или список Decimal, которые нужно преобразовать

classmatplotlib.units.Registry[source]

Bases: dict

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

get_converter(x)[source]

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

© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/units_api.html

Spec-Zone.ru

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