
1. 轉置
1.1 代碼示例
Filename='filename.nc';
lon=ncread(Filename,'LON'); % 115-140
lat=ncread(Filename,'LAT'); % 15-40
dep=ncread(Filename,'BATHY');
dep=dep';
重點注意,水深數據dep需要進行轉置
1.2 解釋說明
對4×5型
矩陣進行轉置得到
為5×4型矩陣
。
對於nc文件中的水深數據,其維度:
Dimensions: LON17701_19201,LAT6301_7801,TIME
重構網格點meshgrid后得到的網格同為(lon,lat),但區別如下:

如左圖,假設標記處
表示其lon=30,lat=40的水深,但發現若在地圖中標記處應為lon=40,lat=30,因此對
進行轉置得到
后,標記處變為
,恰好與lon=40,lat=30與其對應。
故:在進行一般繪圖時需要考慮是否進行轉置!
2. plot水深地形圖
2.1 代碼示例
f=figure(id);
m_proj('mercator','lon',[115,140],'lat',[15,40]);
m_contourf(lon,lat,dep,50,'linestyle','none');
m_gshhs_f('Color','g','LineWidth',0.6,'LineStyle','-.');
m_grid('linestyle',':','box','fancy','tickdir','out','linecolor','w','alpah','0.5');
設置投影和,等值線填充,海岸線,格點
2.2 部分參數詳解
m_proj('投影方式','long',[lonmin lonmax],'lat',[latmin latmax]);
2.2.1 等值線
m_contourf(x,y,z,level,LineSpec,'ShowText','LineWidth','LabelSpacing');
. x,y,z的維度size應該一致,若x,y分別為 ,則可以通過meshgrid進行重構網格,最終得到相同大小的x,y,z;
% reshap size
[X,Y]=meshgrid(x,y) % produce the coordinates of a rectangular grid (X, Y).
cat(DIM,A,B) % cat(2,A,B) is the same as [A,B].
% cat(1,A,B) is the same as [A;B].
. level表示層級,可以為層級數也可以是一個或幾個特定的層級;
contourf(X,Y,Z,10)
contourf(X,Y,Z,[2 3])
contourf(X,Y,Z,[2 2])

![level=[2 3]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMTkwMzI5MDAxMjU5ODUzLnBuZw==.png)
![level=[2 2]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMTkwMzI5MDAxNzU1OTgwLnBuZw==.png)
上述三幅圖來自於mathworks,分別表示level=50,[2 3],[2 2]的結果;
. LineSpec表示線性
contourf(X,Y,Z,50,'b--');
contourf(X,Y,Z,50,'linestyle','--','color','blue'
兩種呈現結果相同,均顯示藍色虛線的線條格式
. ShowText表示等高線標簽
2.2.2 海岸線
m_gshhs(RES,'patch' ( ,standard patch options,...,...) )

2.2.3 網格相關參數

3. colormap
hh=colorbar;
set(hh,'position',[0.78 0.1 0.02 0.8]);
caxis([-7000 3000]);
set(hh,'ytick',-7000:1000:3000,'yticklabel',-7000:1000:3000);
colormap([ m_colmap('blues(1)',70); m_colmap('greens',30)]);
3.1 常見的colormap/m_colmap


3.2 特殊拼接用法
. flipud翻轉colormap
colormap(m_colmap('blues'));

colormap(flipud(m_colmap('blues')));

. colormap拼接
colormap([ m_colmap('blues',70); m_colmap('greens',30)]);

表示blues與greens兩個colmap的比例為7:3
