在MATLAB安装了m_map工具箱的基础上,本文介绍绘制箭头图的方法,主要用到m_quiver( )绘图函数。

方法/步骤
-
1
第一,关于MATLAB安装m_map工具箱,可以百度“MATLAB学习与使用:安装M_Map工具箱和测试使用”。下面直接讲解如何绘制箭头图。
启动MATLAB,新建脚本(Ctrl+N),输入如下代码:
close all; clear all; clc
[lon,lat]=meshgrid([-136:2:-114],[36:2:54]);
u=sin(lat./6);v=sin(lon./6);
m_proj('oblique','lat',[56,30],'long',[-132,-120],'aspect',0.8);
m_coast('patch',[.9,.9,.9],'edgecolor','none');
m_grid('tickdir','out','yaxislocation','right',...
'xaxislocation','top','xlabeldir','end','ticklength',.02);
hold on;
m_quiver(lon,lat,u,v);
xlabel('Simulated surface winds','fontsize',15);
其中m_proj选择地图投影方式为oblique,设置纬度时需要注意,此处纬度lat的设置是从大值到小值,如代码中'lat',[56,30],aspect表示朝向方位的意思,代码中设置aspect为0.8.
另外,m_coast为设置海岸线,m_grid为设置网格线和坐标标注,m_quiver为绘制箭头图。
-
2
第二,保存和运行上述脚本,得到如下箭头图。
-
3
第三,将m_proj( )中的aspect改为1和0.1,观察图形的方位朝向变化情况。
-
4
第四,下面两张图分别为aspect为1和aspect为0.1的箭头图。可以看出aspect为1时图形没有方位形变,为0.1时图形方位形变比较严重。
-
5
第五,把aspect改回0.8,然后对箭头图的样式进行修改,将箭头变成红色并加粗。只需将m_quiver(lon,lat,u,v)改为m_quiver(lon,lat,u,v,'r','linewidth',2)。
-
6
第六,保存和运行上述脚本,最终得到的箭头图如下。
END
文章评论