3、海岸線和深度測量
3.1.1 海岸線選項
m_coast('line', ...optional line arguments );
m_coast('line', ...optional line arguments );
m_map 的海岸線數據可以使用m_coast 獲得 ,此處的參數選項都是指定線的屬性的一些標准選項例如線條樣式,線寬,顏色等。
m_coast('patch', ...optional patch arguments );
此處的參數選項都是指定填充的屬性的一些標准屬性
m_coast('patch',[.7 .7 .7],'edgecolor','g');
繪制灰色填充,輪廓為綠色,當繪制了填充時,湖泊和內陸海洋給軸背景色。
m_coast('speckle', ....optional m_hatch arguments);
許多老的海洋地圖使用斑點土地邊界,這種黑白相間的地圖看起來非常漂亮
3.1.2
clear all
m_proj('Stereographic');%確定投影方式和繪圖界線
m_coast('linewidth',2,'color','r');;%畫出海岸線
m_grid;%添加格網
clear all
m_proj('Stereographic');%確定投影方式和繪圖界線
m_coast('patch',[1 1 0],'edgecolor','r');;;%畫出海岸線
m_grid;%添加格網
3.2.1 地形水深選項
clear all
m_proj('Stereographic');%確定投影方式和繪圖界線
m_coast('patch',[1 1 0],'edgecolor','r');;;%畫出海岸線
m_elev;%添加地形水深數據
m_grid;%添加格網
3.2.2
clear all
m_proj('Stereographic');%確定投影方式和繪圖界線
m_elev('contourf',15);%輪廓填充
m_coast;%畫出海岸線
colorbar
3.2.3
clear all
m_proj('Stereographic');%確定投影方式和繪圖界線
m_elev('contour',15,'edgecolor','b');%藍色填充
3.2.3
clear all
m_proj('Stereographic');%確定投影方式和繪圖界線
m_elev('contourf',15,'edgecolor','b');
colorbar
m_grid;%添加格網
[Z,LONG,LAT]=m_elev([-20 20 -30 30]);%返回經度,緯度,高度值
4、個性化坐標軸
4.1網格線與標簽
clear all
m_proj('Lambert');
m_coast;
m_grid;%添加網格
m_ungrid;%去除網格
4.1.2
clear all
m_proj('Lambert');
m_coast;
m_grid('xtick',10,'tickdir','out','yaxislocation','right','fontsize',7);%grid設置
'box',( 'on' | 'off' | 'fancy' )
這個選項用來指定是否需要一個外輪廓。有三種外輪廓可供選擇, on 默認值,就是簡單的一條線,有兩中 fancy 輪廓線可供使用,如果 tickdir 屬性值是 in,會有一個黑白相間的條紋 ,如果 tickdir 設置為 out,會畫出一個復雜的條紋,
'xtick',( num | [value1 value2 ...])
這條命令指定經度格網的位置和數值,如果只是給定了一個數,畫出的格網線是近似等距的(這個數值是一個約數,因為 m_grid 總是想讓間隔看起來更加好看),當使用位置向量可以指定准確的位置,, ytick 與此類似。 (平分幾份)
'xticklabels',[label1;label2 ...]
指定標注的值,可以是數值,也可以使字符串, yticklabels 與此類似。
'xlabeldir', ( 'middle' | 'end' )
經度標簽要么在格網線短點中間的位置(在格網線正交的位置),要么在這些格網線端點向外延伸位置, ylabeldir 與此類似。(默認 Middle);
'ticklen',value
指定標簽的長度,類似 plot 中的 width;
'tickdir',( 'in' | 'out' )
指定標記實在內部還是外部,如果 box 被設置為 fancy,它有用來指定 fancy 的樣式。
'tickstyle',( 'dd' | 'dm' )
指定坐標軸標注是用度的形式還是度分秒的形式,默認為度分秒的形式。
'color',colorspec
'linewidth', value
'linestyle', ( linespec | 'none' )
'fontsize',value
'fontname',name
指定線或者文件的一些屬性
'XaxisLocation',( 'bottom' | 'middle' | 'top' )
指定在哪里做 X 軸,是在最底部還是最頂部還是中間。
'YaxisLocation',( 'left' | 'middle' | 'right' )
指定 Y 軸是在最左邊,中間,還是在最右面
clear all
m_proj('Lambert');
m_coast;
m_grid('box','fancy','xtick',10,'ytick',8,'xticklabels',['a'; 'b';'c'],...
'ylabeldir', 'end', 'tickdir','in','yaxislocation','left','fontsize',10);更改標簽,改變顯示情況
4.2標題和軸標記
用 title(„‟)和 xlabel,ylabel 可以為地圖添加標題和坐標軸說明
title('北美蘭勃脫','fontsize',15)
xlabel('longitude');
ylabel('latitude')
4.3 圖例
可以用 m_legend 給一副地圖添加圖例,當前只有一部分圖例的功能可以使用,通過使
用鼠標可以拖動或者刪除圖例。
4.4 比例尺
m_ruler位置使用規范化坐標, {0,1}之間,所以你可以注記調整它在地圖中的位置,最好在調用了 m_grid 之后調用他,因為 m_grid重置了初始化值。
clear all
m_proj('Lambert');
m_coast;
m_grid('box','fancy','xtick',10,'ytick',8,'xticklabels',['a'; 'b';'c'],...
'ylabeldir', 'end', 'tickdir','in','yaxislocation','left','fontsize',10);
title('北美蘭勃脫','fontsize',15)
xlabel('longitude');
ylabel('latitude')
m_ruler([0.1 0.3],1);
5 添加自己的數據
5.1.1 畫線、文本、箭頭、填充、等高線等
m_plot(LONG,LAT,...line properties) % draw a line on a map (erase current plot)
m_line(LONG,LAT,...line properties) % draw a line on a map
m_quiver(LONG,LAT,U,V,S) % A quiver plot
m_text(LONG,LAT,'string') % Text
m_patch(LONG,LAT,..patch properties) % Patches.
m_patch出現錯誤時,試着使用命令 flipud 或者 fliplr 來扭轉點的順序。
以經緯度方式組織的格網數據也可以 contoured:
m_contour(LONG,LAT,VALUES)
m_contourf(LONG,LAT,VALUES)
這個功能也可以返回圖形對象句柄。
[cs,h]=m_contour(LONG,LAT,VALUES)
clabel(cs,h,'fontsize',6);
5.1.2
將經緯度坐標轉換成投影坐標
[X,Y]=m_ll2xy(LONG,LAT, ...optional clipping arguments )
5.1.3
將投影坐標轉換成經緯度坐標
[LONG,LAT]=m_xy2ll(X,Y)
5.1.4從圖像中移除數據
clear all
m_proj('lambert','long',[-160 -40],'lat',[30 80]);
m_coast;
m_grid;
m_range_ring(-123,49,[1e3:1e3:10e3],'color','r');
m_ungrid range_ring%將其移除
m_range_ring(-123,49,[200:200:2000],'color','r');%重新畫
沒 1000 公里畫一個圓, 但我對此不滿意,想要僅僅使用 200 千米的增量重新畫,我可以移除 m_range_ring 然后重新畫:
m_angthing 都可以通過調用
m_ungrid angthing 來將其移除。