我正在尝试创建自定义颜色条,但颜色标注看起来与我定义的完全不同 -
颜色应该是褐色 - >白色 - >蓝色,应该有9个类别。
我的代码附在下面:
plot = np.clip(plot,40,250)
bounds = [0, 40, 60, 80, 100, 125, 150, 200, 250, 300]
rgblist = [(51,25,0), (102,51,0), (153,76,0), (239,159,80), (255, 255, 255),
(153,204,255), (51,153,255), (0,102,204), (2,2,128)]
clist = [[c/255 for c in rgb] for rgb in rgblist]
cmap = colors.ListedColormap(clist)
norm = colors.BoundaryNorm(bounds, cmap.N)
cs = m.contourf(X,Y,plot,bounds, cmap=cmap, norm=norm)
cbar = m.colorbar(cs, ticks=[20,50,70,90,112.5,137.5,175,225,275])
cbar.set_ticklabels(['<40','40-60', '60-80', '80-100', '100-125', '125-150', '150-200', '200-250', '>250'])
plt.show()
答案 0 :(得分:3)
我猜你使用的是Python 2.x.在这种情况下,您的行
clist = [[c/255 for c in rgb] for rgb in rgblist]
执行整数除法,即结果存储为整数,并且所有小数信息都丢失。在您的情况下,这会导致除255/255
之外的所有分歧,从而产生0
。
要更改此设置,您可以通过添加小数点来除以浮点数:
clist = [[c/255. for c in rgb] for rgb in rgblist]
或者您可以在分区之前通过
导入Python 3分区行为from __future__ import division