如何在MATLAB中设置具有任意最大值和最小值的contourf函数中的色标?

时间:2012-09-18 00:43:24

标签: matlab colors scaling fill contour

一个简单的问题。 无论如何告诉Matlab函数“contourf”,用我给定的值(而不是数据集的值)来缩放颜色? 我知道你可以通过

简单地调用该函数
contourf(x,y,Data, v) 

并在v向量中设置范围,但我的问题是Matlab会自动检查v向量中的指定值是否确实存在于数据中?如果它们不存在,则它会自动将颜色范围重新调整回数据集中可用的最大值和最小值。

例如,如果

Data =[0 1 2; 3 4 5; 6 7 8]; 
v=-10:1:10;

然后我打电话

contourf(x,y,Data,v) 

显示的色彩图用

缩放
v=[0:8];

我要求的原因是我想要为各种数据集添加几个等高线图,但我需要始终使用与传递给当前数据数组时可能不一定的最大/最小值相同的颜色代码。 contourf函数。

我希望我足够清楚。

1 个答案:

答案 0 :(得分:2)

查看caxis命令。我没有用contourf测试它,但我认为这就是你所追求的。

像这样使用它:

caxis([ cmin cmax ])

其中cmincmax是作为当前颜色映射的索引给出的最小和最大颜色。来自help caxis

  

CAXIS是一个设置轴属性CLim和CLimMode的函数。

意味着你也可以手动修改这些轴设置(即set(gca, 'clim', [...])