在matplotlib颜色条上指定边界

时间:2017-01-28 23:54:37

标签: python matplotlib colormap

我使用matplotlib的imshow绘制了一些数据。我还设法将三种不同的色彩图组合在一起(见图),但我希望绿色从0到1000,黄色/橙色从1000到1600,红色从1600到高。它几乎是开箱即用的,但并非完全正确。谁知道我怎么能做到这一点?

colors1 = plt.cm.Greens_r(np.linspace(0, 0.4, 256))
colors2 = plt.cm.Oranges(np.linspace(0.1, 0.5, 256))
colors3 = plt.cm.Reds(np.linspace(0.6, 1, 256))

cmap = np.vstack((colors1, colors2, colors3))

cmap_test = colors.LinearSegmentedColormap.from_list('colormap', cmap)

fig, ax = plt.subplots()
plt.imshow(z, origin='upper', cmap=cmap_test, interpolation='none', extent=[0,25,5,-20])
cbar = plt.colorbar()
ax.grid(linestyle='-')
plt.show()

enter image description here

0 个答案:

没有答案