2012-08-24 110 views
2

我在MATLAB中繪製了一個在Mercator(平面)世界地圖上的輪廓圖。在MATLAB中使用Geoshow的顏色映射圖

而且我成功了,但是當我使用

geoshow('landareas.shp','FaceColor', [0.5 1.0 0,5]) 

它消除了地圖上的等高線圖。

我的代碼是:

axesm('mercator','MapLatLimit',[-50 90],'MapLonLimit',[0 250]) 

frame on; 

grid on; 

plotm(lat,long,'k') 

contourfm(x,y,z) 

反正是有應用

geoshow('landareas.shp','Display',[0.5 1.0 0.5]) 

回答

2

我不知道你想實現的,所以如果我的回答將是一個錯誤的方向正是我們可以詳細闡述。

我用這個代碼產生地圖contourfm'landareas'

load geoid; 
figure(1) 
axesm ('mercator','MapLatLimit',[-50 90],'MapLonLimit',[0 250]) 
contourfm(geoid,geoidrefvec, 'LineStyle', 'none'); 
geoshow('landareas.shp', 'FaceColor', [0.5 1.0 0.3]); 

enter image description here

相反的geoid你可以有自己的地圖,但上的網格點的數量注意。據我所知他們必須是180x360。

一注意。你可以考慮使用coast而不是landareas,因爲contourfm產生所有的彩色地圖和'landareas'也有顏色。所以,如果它適合你,你可以把只海岸線替代:

load geoid; 
figure(2) 
axesm ('mercator','MapLatLimit',[-50 90],'MapLonLimit',[0 250]) 
contourfm(geoid,geoidrefvec, 'LineStyle', 'none'); 
load coast 
plotm(lat, long,'black') % plot the coast on the map 

contourfm with coast

+0

MasterPJ - 非常感謝。我一直需要一個答案。我幾乎放棄了。 – user1608954

+0

請幫我看看這個查詢:http://stackoverflow.com/questions/39155845/attaching-customized-colormap-to-geoshow-in-matlab – Munish

相關問題