matplotlib颜色映射 - 预定义映射到值?

Jzl*_*325 2 python matplotlib python-2.x

我有一个我正在查看的数组imshow().(imsave()确实如此,但过程应该相同).

我知道数组中的值将介于0-9之间,并且想知道是否可以使用cmap将每个输出设置为特定的"颜色".也许通过将这些映射到dict?

Joe*_*ton 6

只需使用一个ListedColormap.

作为一个快速(但丑陋)的例子:

import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap

cmap = ListedColormap(['red', 'green', 'blue', 'black'], 'indexed')

fig, ax = plt.subplots()
im = ax.imshow([range(4)], interpolation='none', cmap=cmap)
fig.colorbar(im)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述