注册 Matplotlib 颜色图

BMi*_*ell 3 python matplotlib

我认为这应该有效:

cm = matplotlib.colors.LinearSegmentedColormap.from_list('phases', ['g', 'y', 'c', 'm', 'b', 'r']
plt.register_cmap('phases', cm)
Run Code Online (Sandbox Code Playgroud)

但是当我输入:

plt.cmap.phases
Run Code Online (Sandbox Code Playgroud)

我收到属性错误。很明显我的 cmap 没有像我想象的那样被注册。但尚不清楚原因。

Ste*_*tef 5

您的颜色图已注册。plt.cm仅包含内置颜色图,不包含注册的颜色图。

要获取颜色图,请使用plt.cm.get_cmap('phases').
要将颜色图设置为默认使用plt.set_cmap('phases').
要获取所有内置和注册的颜色图,请使用plt.colormaps().
要仅获取注册(非内置)颜色图,请使用[cm for cm in plt.colormaps() if cm not in dir(plt.cm)].