matplotlib.units#

这里的类为使用自定义类与 Matplotlib 提供支持,例如,那些不暴露数组接口但知道如何将自己转换为数组的类。它还支持具有单位和单位转换的类。用例包括自定义对象的转换器,例如,一个 datetime 对象列表,以及具有单位的对象。我们不假设任何特定的单位实现;相反,单位实现必须注册到 Registry 转换器字典并提供一个 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()
class matplotlib.units.AxisInfo(majloc=None, minloc=None, majfmt=None, minfmt=None, label=None, default_limits=None)[源代码][源代码]#

基类:object

支持默认轴标签、刻度标签和限制的信息。

此类的一个实例必须由 ConversionInterface.axisinfo 返回。

参数:
majloc, minloc定位器,可选

主要和次要刻度的刻度定位器。

majfmt, minfmtFormatter, 可选

主要和次要刻度的刻度格式化器。

标签str, 可选

默认的轴标签。

默认限制可选的

如果没有数据被绘制,轴的默认最小和最大限制。

注释

如果上述任何一项为 None ,该轴将简单地使用默认值。

exception matplotlib.units.ConversionError[源代码][源代码]#

基类:TypeError

class matplotlib.units.ConversionInterface[源代码][源代码]#

基类:object

转换器最小的接口,用于接受自定义数据类型(或序列)并将其转换为 Matplotlib 可以使用的值。

static axisinfo(unit, axis)[源代码][源代码]#

返回具有指定单位的轴的 AxisInfo

static convert(obj, unit, axis)[源代码][源代码]#

使用指定的 axisobj 转换为 unit

如果 obj 是一个序列,返回转换后的序列。输出必须是一个可以被 numpy 数组层使用的标量序列。

static default_units(x, axis)[源代码][源代码]#

返回给定轴的 x 的默认单位,如果没有则为 None

class matplotlib.units.DecimalConverter[源代码][源代码]#

基类:ConversionInterface

将 decimal.Decimal 数据转换为浮点数的转换器。

static convert(value, unit, axis)[源代码][源代码]#

将小数转换为浮点数。

不使用 unitaxis 参数。

参数:
decimal.Decimal 或可迭代对象

需要转换的 Decimal 或 Decimal 列表

class matplotlib.units.Registry[源代码][源代码]#

基类:dict

注册带有转换接口的类型。

get_converter(x)[源代码][源代码]#

获取 x 的转换器接口实例,或返回 None。