首页 > 解决方案 > 如何将 ListedColorMap 转换为颜色列表?

问题描述

我正在尝试使用较新的cycles参数:但它似乎不接受ListedColorMap. 那么,如何提取包含在 a 中的颜色列表(ListedColorMapcolormap对象表示)然后使用呢?

目前:

mpl.rcParams['axes.prop_cycle'] = plt.cycler('color',cmap)

这失败了:

TypeError: 'ListedColormap' object is not iterable

以下确实有效 - 但随后我们丢失了原始颜色图的值,linspace例如:

mpl.rcParams['axes.prop_cycle'] = plt.cycler('color',['r','g','b'])

在此处输入图像描述

这似乎应该非常简单:只是如何将转换转换为colormap列表..但是怎么做呢?

更新尊敬的@unutbu 在下面提供了答案(ListedColorMap.colors),这是结果。

在此处输入图像描述

标签: pythonmatplotlib

解决方案


In [136]: import matplotlib.colors as mcolors

In [137]: cmap = mcolors.ListedColormap(["w", "grey", "green", "red"])

In [138]: cmap.colors
Out[138]: ['w', 'grey', 'green', 'red']

In [139]: plt.cycler('color', cmap.colors)
Out[139]: cycler('color', ['w', 'grey', 'green', 'red'])

cmap.colors发现使用IPython 的选项卡完成来显示cmap的属性:

在此处输入图像描述


推荐阅读