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

时间:2012-02-26 08:11:44

标签: python matplotlib

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

enter image description here

1 个答案:

答案 0 :(得分:4)

使用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()

使用ListedColormap的一些示例:colorbarsmulticolored lines