我已经将一些地形数据加载到matlab,并创建了这些数据的冲浪,模板和等高线图,使用colormap对它们进行着色。地形数据范围为0至2500米。
我想绘制一张地图,为200米以下,500米以上,200至500米绿色以下的任何地形着色。是否有可能做到这一点?任何人都可以给我任何有关命令所需的提示吗?
非常感谢
答案 0 :(得分:6)
您可以使用colormap
和surf
的第四个输入。
以下情节
由
生成[X,Y,Z] = peaks(1000);
%colormap
cmap = [0.6 0.2 0.4;
0.5 0.5 0.5;
0.1 0.9 0.9];
Zcolor = zeros(size(Z));
threshold = 2;
Zcolor(Z <= -threshold) = 1; % first row of cmap
Zcolor(Z > -threshold & Z < threshold) = 2; % second row of cmap
Zcolor(Z >= threshold) = 3; % third row of cmap
figure('Color','w');
surf(X, Y, Z, Zcolor, 'EdgeColor', 'None');
colormap(cmap);
light('Position', [0 -2 1])
答案 1 :(得分:2)
hsurf=surf(...)
set(hsurf,'FaceColor','interp')
doc surf
了解更多信息。