matplotlib.colors.make_norm_from_scale#

matplotlib.colors.make_norm_from_scale(scale_cls, base_norm_cls=None, *, init=None)[source]#

用于从 ScaleBase 子类构建 Normalize 子类的装饰器。

之后

@make_norm_from_scale(scale_cls)
class norm_cls(Normalize):
    ...

norm_cls 会被方法填充,以便归一化计算转发到 scale_cls(即,scale_cls 是用于通过 norm_cls 归一化的可映射对象的颜色条的比例尺)。

如果未传入 init,则 norm_cls 的构造函数签名将是 norm_cls(vmin=None, vmax=None, clip=False);这三个参数将被转发到基类 (Normalize.__init__),并且 scale_cls 对象将不带任何参数(除了一个虚拟轴)进行初始化。

如果 scale_cls 构造函数接受额外参数,则应将 init 传入 make_norm_from_scale。它是一个可调用对象,用于其签名。首先,此签名将成为 norm_cls 的签名。其次,norm_cls 构造函数将使用此签名绑定传入的参数,提取绑定的 vminvmaxclip 值,将这些值传递给 Normalize.__init__,并将剩余的绑定值(包括签名定义的任何默认值)转发给 scale_cls 构造函数。