插值matlab颜色图



在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)

最新更新