единицы
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 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()
-
class matplotlib.units.AxisInfo(majloc=None, minloc=None, majfmt=None, minfmt=None, label=None, default_limits=None)[source] -
Bases:
objectИнформация для поддержки метки осей по умолчанию, метки делений и пределов по умолчанию. Экземпляр этого класса должен возвращаться методом
ConversionInterface.axisinfo().Параметры: -
majloc, minloc : Locator, optional -
Позиционеры делений для основных и второстепенных делений.
-
majfmt, minfmt : Formatter, optional -
Форматировщики делений для основных и второстепенных делений.
-
label : str, optional -
Метка оси по умолчанию.
-
default_limits : optional -
Пределы оси по умолчанию по минимуму и максимуму, если данные не были отображены.
Примечания
Если какие-либо из вышеперечисленных значений
None, ось просто использует значение по умолчанию. -
-
class matplotlib.units.ConversionInterface[source] -
Базовое интерфейс для преобразования пользовательских типов данных (или последовательностей) в значения, которые Matplotlib может использовать.
-
static axisinfo(unit, axis)[source] -
Возвращает экземпляр
AxisInfoдля оси с указанными единицами.
-
static convert(obj, unit, axis)[source] -
Преобразует obj с использованием unit для указанной оси. Если obj является последовательностью, возвращает преобразованную последовательность. Результат должен быть последовательностью скаляров, которые могут быть использованы слоем массивов numpy.
-
static default_units(x, axis)[source] -
Возвращает стандартную единицу для x или
Noneдля данной оси.
-
static is_numlike(x)[source] -
Модули Matplotlib datalim, автоматическое масштабирование, локаторы и т. д. работают со скалярами, которые являются единицами, преобразованными в числа с плавающей точкой, учитывая текущую единицу. Преобразователь может принимать эти числа с плавающей точкой или массивы из них, даже когда единицы установлены.
-
-
class matplotlib.units.Registry[source] -
Основывается на
dictРегистр, который сопоставляет типы с интерфейсами преобразования.
-
get_converter(x)[source] -
Получить преобразователь для данных, имеющих тот же тип, что и x. Если для x не зарегистрированы преобразователи, возвращает
None.
-
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.0.0/api/units_api.html