一个简单的问题。 无论如何告诉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函数。
我希望我足够清楚。
答案 0 :(得分:2)
查看caxis
命令。我没有用contourf
测试它,但我认为这就是你所追求的。
像这样使用它:
caxis([ cmin cmax ])
其中cmin
和cmax
是作为当前颜色映射的索引给出的最小和最大颜色。来自help caxis
:
CAXIS是一个设置轴属性CLim和CLimMode的函数。
意味着你也可以手动修改这些轴设置(即set(gca, 'clim', [...])
)