08 - matlab m_map地学绘图工具基础函数 - 绘制线、图例、添加文字注释等函数
- 0. 引言
- 1. 关于m_line
- 2. 关于m_quiver
- 3. 关于m_text
- 4. 关于m_plot
- 5. 结语
0. 引言
本篇介绍下m_map
中添加绘制基础线(m_line、m_plot
)、绘制箭头(m_quiver
)、添加文字标注(m_text
)的一系列函数及其用法。
1. 关于m_line
m_line函数
用于在地图投影上绘制线条。这个函数可以用来绘制从一个点到另一个点的直线、经过一系列点的折线或者是闭合曲线等。与绘制椭圆等函数较为类似。
m_line
函数的一般形式如下:
h=m_line(long,lat,varargin)
其中,long,lat
为经纬度矩阵或向量,要具备相同的长度;h
返回数据,包含绘制线的所有属性数据;varargin
可选参数,可以控制绘制的线段的线形,颜色等属性。其底层为matlab的line
函数,可选参数可以借鉴line函数的有关内容:
下面是m_line函数有关的简单示例:
lon=[-180:30:180];
lat=atan(tan(60*pi/180)*cos((lon-30)*pi/180))*180/pi;
m_proj('miller','lat',82);
m_coast('color',[0 .6 0]);
% 绘制线
h = m_line(lon,lat,'marker','o','linewi',3,'color','r');
% 输入二维经纬度坐标
% x = [-180,-150,-120;-90,-60,-30];
% y = [-80,-60,-40;-20,0,20];
% h = m_line(x,y,'marker','o','linewi',3,'color','r');
m_grid('linestyle','none','box','fancy','tickdir','out');
m_northarrow(-150,0,40,'type',4,'linewi',.5);
|
|
2. 关于m_quiver
m_quiver
函数用于在地图上绘制矢量场。矢量场通常用于表示在不同位置和方向上的矢量数据,例如风速和风向、流速和流向等。
m_quiver
函数的一般用法:
m_quiver(long,lat,u,v,scale,varargin )
其中,lon
和 lat
是矢量场中矢量的经度和纬度坐标;u 和 v
是每个点处的水平和垂直分量;scale
是一个可选参数,用于缩放箭头的长度;varargin
包含绘制箭头的一些属性,如filled设置绘制箭头的颜色、marker设置箭头尾部形状。
这个函数会在地图上绘制箭头,表示给定位置的矢量场。箭头的长度和方向由 u 和 v 分量确定,箭头的位置由对应的经度和纬度坐标确定。下面是一个绘图示例,图2使用了填充属性并修改了箭头尾部的形状。
% 构建适量数据
[lon,lat]=meshgrid([-136:2:-114],[36:2:54]);
u=sin(lat/6);
v=sin(lon/6);
m_proj('oblique','lat',[56 30],'lon',[-132 -120],'aspect',.8);
m_coast('patch',[.9 .9 .9],'edgecolor','none');
m_grid('tickdir','out','yaxislocation','right',...
'xaxislocation','top','xlabeldir','end','ticklen',.02);
hold on;
h = m_quiver(lon,lat,u,v);
%h = m_quiver(lon,lat,u,v,'filled','g','marker','o');
xlabel('Simulated surface winds');
|
|
3. 关于m_text
m_text函数
是用于在地图上添加文本标签的函数之一。它可以在地图上的指定位置添加文本标签,并可以控制文本的样式、大小和对齐方式等。
m_text函数
的一般用法:
h=m_text(long,lat,varargin)
其中,long,lat
控制添加文字的位置,输入投影坐标的经纬度;varargin
可选参数,控制标注文字的其他属性,如添加文字的尺寸fontsize
、颜色color
等。
m_proj('miller','lat',82);
m_coast('color',[0 .6 0]);
m_grid('linestyle','none','box','fancy','tickdir','out');
m_text(-128,48,{'Pacific','Ocean'},'fontsize',18,'color','r','fontweight','bold');
4. 关于m_plot
m_plot
函数用于在地图上绘制线条或点。这个函数可以用来显示路径、边界、地理数据点等。m_plot 函数
的底层调用了Matla的plot
函数,只不过m_plot支持在投影坐标系下使用:
m_plot函数
的一般形式如下:
han = m_plot(LON,LAT,[OPTIONS])
其中,LON,LAT
为经度和维度的向量,可以为两个也可以为多个;[OPTIONS]
可选参数的属性和matlab的plot
的函数的属性参数一致,这里不进行展开。下面是m_plot函数的一个绘图示例:
lon=[-180:30:180];
lat=atan(tan(60*pi/180)*cos((lon-30)*pi/180))*180/pi;
m_proj('miller','lat',82);
m_coast('color',[0 .6 0]);
% 输出1维经纬度坐标
h = m_plot(lon,lat,'marker','o','linewi',3,'color','r');
m_grid;
m_plot
在绘制线图时和前面的m_line
很相似,但是使用m_plot
绘制时会覆盖掉背景的地理边界,不确定是不是正常现象。
5. 结语
本篇介绍了m_map
中添加绘制基础线(m_line、m_plot
)、绘制箭头(m_quiver
)、添加文字标注(m_text
)的一系列函数及其用法,给出了简单示例,在使用时可以作为参考。希望对你有所帮助。
😜
😜😜
😜😜😜😜