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)[исходный код]
-
Базовые классы:
objectИнформация для поддержки подписей осей и делений, а также пределов по умолчанию.
Этот класс должен возвращаться методом
ConversionInterface.axisinfo.- Параметры:
-
- majloc, minlocLocator, необязательный
-
Локаторы основных и вспомогательных делений.
- majfmt, minfmtFormatter, необязательный
-
Форматировщики основных и вспомогательных делений.
- labelstr, необязательный
-
Подпись оси по умолчанию.
- default_limitsнеобязательный
-
Минимальный и максимальный пределы оси по умолчанию, если данные не были построены.
Примечания
Если любое из указанных выше значений равно
None, ось будет использовать значение по умолчанию.
- exceptionmatplotlib.units.ConversionError[исходный код]
-
Базовые классы:
TypeError
- classmatplotlib.units.ConversionInterface[исходный код]
-
Базовые классы:
objectМинимальный интерфейс конвертера для преобразования пользовательских типов данных (или последовательностей) в значения, пригодные для использования в Matplotlib.
- staticaxisinfo(unit, axis)[исходный код]
-
Возвращает
AxisInfoдля оси с указанными единицами измерения.
- staticconvert(obj, unit, axis)[исходный код]
-
Преобразует obj с использованием unit для указанной axis.
Если obj является последовательностью, возвращает преобразованную последовательность. Результатом должна быть последовательность скалярных значений, пригодных для использования на уровне массива numpy.
- staticdefault_units(x, axis)[исходный код]
-
Возвращает единицу измерения по умолчанию для x или
Noneдля указанной оси.
- classmatplotlib.units.DecimalConverter[исходный код]
-
Базовые классы:
ConversionInterfaceКонвертер данных decimal.Decimal в значения с плавающей точкой.
- staticconvert(value, unit, axis)[исходный код]
-
Преобразует значения Decimal в значения с плавающей точкой.
Аргументы unit и axis не используются.
- Параметры:
-
- valuedecimal.Decimal или итерируемый объект
-
Значение Decimal или список значений Decimal для преобразования
- classmatplotlib.units.Registry[исходный код]
-
Базовые классы:
dictРегистрирует типы с интерфейсом преобразования.
- get_converter(x)[исходный код]
-
Возвращает экземпляр интерфейса конвертера для x или None.
© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/units_api.html