3
我在Matlab中绘制了两个曲面,这是恒定的地面高度和随时间变化的水位。制作一个静态图例,独立于实际绘图
我使用if
语句来改变水的colormap
随着深度的增加,由两个阈值来确定
if max(C(:)) < 2
colormap([0.5 0.25 0 ; 0 0.8 1]);
elseif max(C(:)) >= 2 && max(C(:)) < 3
colormap([0.5 0.25 0 ; 0 0.8 1 ; 0 0.5 0.65]);
elseif max(C(:)) >= 3
colormap([0.5 0.25 0 ; 0 0.8 1 ; 0 0.5 0.65 ; 0 0.2 0.3]);
end
其结果是,当(在下面的代码阈值被由阵列C
表示)水位低于阈值1时,它是淡蓝色,在两个阈值之间它变得较暗,并且在阈值2以上它变得较暗。
我的问题是,当我画的传说
legend('ground','water');
...我只得到代表水一个颜色,并根据最大深度变化。如何使显示所有四类颜色例如静态传说:
- (棕色)地面
- (浅蓝色)阈值1
- (蓝标)水阈值 之间的水平之下水位
- (深蓝色)水位高于阈值2
我能想到在右侧蓝色正在3个整洁的小补丁的地方由轴(它不会被注意到),然后唯一的解决办法制造传说指向他们而不是水面。但是,这将是一个真正糟糕的解决方案...
谢谢您的回答。它可以正常工作,现在我可以看到图表上的所有颜色,但当我的模拟不包含深水时,仍然无法看到深水的颜色。无论如何,我很高兴我到目前为止:) – 2012-01-17 09:47:52