1

一个简单的问题。无论如何要告诉 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 函数的当前数据数组中.

我希望我足够清楚。

4

1 回答 1

2

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

像这样使用它:

caxis([ cmin cmax ])

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

CAXIS 是一个设置坐标区属性 CLim 和 CLimMode 的函数。

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

于 2012-09-18T04:31:50.623 回答