matplotlib.units
#
这里的类为使用 Matplotlib 的自定义类提供支持,例如,那些不公开数组接口但知道如何将自己转换为数组的类。它还支持具有单位和单位转换的类。用例包括自定义对象的转换器,例如日期时间对象列表,以及单元感知对象。我们不假设任何特定的单元实现;而是一个单元实现必须在注册表转换器字典中注册并提供一个ConversionInterface
. 例如,这是一个完整的实现,它支持使用本机日期时间对象进行绘图:
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()
- 类 matplotlib.units。AxisInfo ( majloc = None , minloc = None , majfmt = None , minfmt = None , label = None , default_limits = None ) [来源] #
基地:
object
支持默认轴标签、刻度标签和限制的信息。
此类的实例必须由
ConversionInterface.axisinfo
.- 参数:
- majloc, minloc定位器,可选
主要和次要刻度的刻度定位器。
- majfmt,minfmt格式化程序,可选
主要和次要刻度的刻度格式化程序。
- 标签str,可选
默认轴标签。
- default_limits可选
如果未绘制数据,则轴的默认最小和最大限制。
笔记
如果上述任何一个是
None
,轴将简单地使用默认值。
- 类 matplotlib.units。ConversionInterface [来源] #
基地:
object
转换器采用自定义数据类型(或序列)并将它们转换为 Matplotlib 可以使用的值的最小接口。