用Matlab工具包M_Map实现在地图上绘制等值线图/散点图/有向箭头图等

时间:2024-03-09 13:33:25

前言

Matlab自带的地理画图工具包一直都不大好用,但对于喜欢使用Matlab的朋友来说,M_Map是一个非常好的选择,它几乎可以满足所有常见的地理画图需要。目前,M_Map的官方文档已经较为完善,但是对于没有耐心慢慢看文档的我来说,画图的时候还是遇到了一些小问题。这里我想分享一个小例子,能够包含M_Map的基本使用方法,供自己以后参考,也希望能给大家一些帮助~

M_Map官网

https://www.eoas.ubc.ca/~rich/map.html
下载完后记得使用addpath将M_Map工具包添加到工作路径~

用M_Map在地图上绘制一个等值线图

figure(1)
latlim = [20 60];
lonlim = [-240 -120];
% lonlim数值必须左小右大,所以当由东经到西经时,要将东经数值改为-(360-度数)
lon = -240:2.5:-120;
lat = 20:2.5:60;
m_proj(\'lambert\',\'long\',lonlim,\'lat\',latlim);hold on
% 定义一个投影的投影方式和范围
m_grid(\'xtick\',[-240,-210,-180,-150,-120],\'ytick\',[30,45,60],\'tickdir\',\'out\');hold on
% m_grid不仅是标出网格和坐标值,更是将上面定义的投影画出来
% tickdir参数可以选择坐标标签在图内/图外
m_contourf(lon,lat,V01,\'linestyle\',\'none\');hold on
% 画等值线图
colormap(m_colmap(\'diverging\'));
% m_map提供了一些colormap
caxis([-0.06 0.06]);
colorbar(\'Location\',\'southoutside\');
m_coast(\'patch\',[.7 .7 .7],\'edgecolor\',\'k\');hold off
% 画海岸线,patch属性会给陆地填色 ,[.7 .7 .7]是常用的灰色的RGB
title({\'1950-2018阿留申地区\';\'冬季海平面气压第一模态\'});

U20uUs.png

后记

其他散点图、有向箭头图等同理,结合上面的例子再去看Users Guide会更加清晰~