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