使用 matplotlib 绘制具有可区分和不连续颜色的颜色条

zho*_*gqi 3 python matplotlib

下图中的颜色条是用matlab绘制的。我想知道是否可以在 python/matplotlib 中绘制类似的颜色条?我需要颜色条中不平滑的颜色变化,以便值 0-5 将以非常可区分且不连续的颜色表示。如果可能的话,你能给我举个例子吗?谢谢~

在此处输入图片说明

Jou*_*nen 5

使用ListedColormapBoundaryNorm

import numpy as np
import matplotlib as mpl
from matplotlib import pyplot
data = np.floor(np.random.random((10,10)) * 6)
cmap = mpl.colors.ListedColormap(['w', 'b', 'g', 'y', '#ff8c00', 'r'])
norm = mpl.colors.BoundaryNorm([0,1,2,3,4,5,6], cmap.N)
pyplot.imshow(data, cmap=cmap, norm=norm, interpolation='none')
pyplot.colorbar()
pyplot.show()
Run Code Online (Sandbox Code Playgroud)

使用 ListedColormap 的一些示例:colorbarsmulticolored lines