当前位置: 首页 > news >正文

08 - matlab m_map地学绘图工具基础函数 - 绘制线、图例、添加文字注释等函数

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 )

  其中,lonlat 是矢量场中矢量的经度和纬度坐标;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)的一系列函数及其用法,给出了简单示例,在使用时可以作为参考。希望对你有所帮助。






😜
😜😜
😜😜😜😜

http://www.lryc.cn/news/388135.html

相关文章:

  • Luminar Neo 1.20.0 (macOS Universal) - 创新 AI 图像编辑器
  • 谈谈Flink消费kafka的偏移量
  • MySQL 高级SQL高级语句(二)
  • MySQL之高可用性(四)
  • 招聘智能管理系统设计
  • 达梦数据库系列—15. 表的备份和还原
  • 无线领夹麦克风哪个品牌音质最好,直播用领夹麦克风还是声卡麦
  • 《Windows API每日一练》6.2 客户区鼠标消息
  • 体验升级:扫描全能王智能高清滤镜2.0全面测评
  • 【JVM系列】JVM调优
  • Linux基础 - Postfix 与 Dovecot 部署邮件系统
  • Qt的安装
  • ThreeJS-3D教学十二:ShaderMaterial
  • 计算机网络面试TCP篇之TCP三次握手与四次挥手
  • Python-数据分析组合可视化实例图【附完整源码】
  • 【JavaEE】Spring Web MVC详解
  • docker安装rocketMq5x以上的版本
  • 【Spring】DAO 和 Repository 的区别
  • 高阶面试-秒杀系统的设计
  • 四十五、 证券基金业数据出境有无特别规范需要注意?
  • 02.Linux下安装FFmpeg
  • 华为RH2288H V2服务器,远程端口安装Linux操作系统
  • JS在线加密简述
  • 理想汽车提出3DRealCar:首个大规模3D真实汽车数据集
  • HTML5文旅文化旅游网站模板源码
  • 山东大学多核并行2024年回忆版
  • CentOS 7 上搭建 JavaEE 环境
  • 库与表管理的终极指南
  • 等级保护测评在测评中Linux系统怎么改
  • Python项目开发实战:微信跳一跳辅助工具,案例教程编程实例课程详解