在Matlab中,使用预定义的颜色映射,我想将颜色三元组与范围[v_min, v_max]中的任何值相关联。
如何插入这个colormap ?
下面的代码就可以了。注意,您需要缩放和偏移从[vmin vmax]
到[0 1]
的变量
val % Variable scaled correctly to the colormap scale (0-1).
hsv=rgb2hsv(cmap);
cm_data=interp1(linspace(0,1,size(cmap,1)),hsv,val);
cm_data=hsv2rgb(cm_data);
cm_data
应该有你正在寻找的三联体。代码摘自这里
注意:这将做你所要求的,但我不确定你是否想这样做。如果这是为了绘图的目的,这是一个坏主意,因为颜色映射需要随着数据线性增加,而MATLABs颜色绘图将假设它是。
如果你的目标是确保你有足够大的颜色图,然后将val
更改为linspace(0,1,300)
。