当前位置: 首页 > 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)的一系列函数及其用法,给出了简单示例,在使用时可以作为参考。希望对你有所帮助。






😜
😜😜
😜😜😜😜

相关文章:

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

08 - matlab m_map地学绘图工具基础函数 - 绘制线、图例、添加文字注释等函数 0. 引言1. 关于m_line2. 关于m_quiver3. 关于m_text4. 关于m_plot5. 结语 0. 引言 本篇介绍下m_map中添加绘制基础线(m_line、m_plot)、绘制箭头(m_quiver&#x…...

Luminar Neo 1.20.0 (macOS Universal) - 创新 AI 图像编辑器

Luminar Neo 1.20.0 (macOS Universal) - 创新 AI 图像编辑器 利用尖端的人工智能生成技术,轻松增强照片效果 请访问原文链接:https://sysin.org/blog/luminar-neo/,查看最新版。原创作品,转载请保留出处。 作者主页&#xff1…...

谈谈Flink消费kafka的偏移量

offset配置: flinkKafkaConsumer.setStartFromEarliest():从topic的最早offset位置开始处理数据,如果kafka中保存有消费者组的消费位置将被忽略。 flinkKafkaConsumer.setStartFromLatest():从topic的最新offset位置开始处理数据,如果kafka中保存有消费…...

MySQL 高级SQL高级语句(二)

一.CREATE VIEW 视图 可以被当作是虚拟表或存储查询。 视图跟表格的不同是,表格中有实际储存数据记录,而视图是建立在表格之上的一个架构,它本身并不实际储存数据记录。 临时表在用户退出或同数据库的连接断开后就自动消失了,而…...

MySQL之高可用性(四)

高可用性 故障转移和故障恢复 冗余是很好的技术,但实际上只有在遇到故障需要恢复时才会用到。(见鬼,这可以用备份来实现)。冗余一点儿也不会增加可用性或减少宕机。在故障转移的过程中,高可用性是建立在冗余的基础上。当有一个组件失效&…...

招聘智能管理系统设计

设计一个招聘智能管理系统,需要从多个维度考虑,包括但不限于用户界面、功能模块、数据安全、算法模型等。以下是一个基本的设计框架: 1. 系统架构: 前端:提供直观的用户界面,包括应聘者和招聘者的登录/注册…...

达梦数据库系列—15. 表的备份和还原

目录 1、表备份 2、表还原 1、表备份 表备份和表还原恢复,都必须在联机状态下进行。 与备份数据库与表空间不同,不需要备份归档日志,不存在增量备份之说。 CREATE TABLE TAB_FOR_RES_02(C1 INT);CREATE INDEX I_TAB_FOR_RES_02 ON TAB_F…...

无线领夹麦克风哪个品牌音质最好,直播用领夹麦克风还是声卡麦

随着社交媒体的兴起,直播和Vlog已经成为内容创作的新趋势,这些变化不仅改变了人们分享生活的方式,也带动了音频设备市场的增长。无线领夹麦克风,以其便携性和卓越的录音品质,迅速成为视频制作者的重要工具。它们在直播…...

《Windows API每日一练》6.2 客户区鼠标消息

第五章已经讲到,Windows只会把键盘消息发送到当前具有输入焦点的窗口。鼠标消息则不同:当鼠标经过窗口或在窗口内被单击,则即使该窗口是非活动窗口或不带输入焦点, 窗口过程还是会收到鼠标消息。Windows定义了 21种鼠标消息。不过…...

体验升级:扫描全能王智能高清滤镜2.0全面测评

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…...

【JVM系列】JVM调优

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

Linux基础 - Postfix 与 Dovecot 部署邮件系统

目录 零. 简介 一. 部署 二. 设置用户别名信箱 三. Linux 邮件客户端 零. 简介 Postfix 和 Dovecot 是在 Linux 系统中常用于部署邮件系统的两个重要组件。 Postfix 是一种邮件传输代理(MTA),主要负责接收、转发和发送邮件。它具有高性能…...

Qt的安装

一、Qt安装 下载地址:https://download.qt.io/archive/qt/ opencv下载安装 下载地址:https://opencv.org/releases/ 陈年旧文,没有下文,以此纪念。。。。。...

ThreeJS-3D教学十二:ShaderMaterial

一、首先 Shader 是做什么的 Shader 可以自定义每个顶点、每个片元/像素如何显示,而控制顶点和片元显示是通过设置 vertexShader 顶点着色器和 fragmentShader 片元着色器,这两个着色器用在 ShaderMaterial 和 RawShaderMaterial 材质上。 我们先看一个例…...

计算机网络面试TCP篇之TCP三次握手与四次挥手

TCP 三次握手与四次挥手面试题 任 TCP 虐我千百遍,我仍待 TCP 如初恋。 巨巨巨巨长的提纲,发车!发车! PS:本次文章不涉及 TCP 流量控制、拥塞控制、可靠性传输等方面知识,这些知识在这篇: TCP …...

Python-数据分析组合可视化实例图【附完整源码】

数据分析组合可视化实例图 开篇:应女朋友的要求,于是写下了这篇详细的数据可视化代码及完整注释 一:柱状图、折线图横向组合网格布局 本段代码使用了pyecharts库来创建一个包含多个图表(柱状图、折线图)和网格布局的…...

【JavaEE】Spring Web MVC详解

一.基本概念. 1.什么是Spring Web MVC? 官方链接: https://docs.spring.io/spring-framework/reference/web/webmvc.html Spring Web MVC is the original web framework built on the Servlet API and has been included in the Spring Framework from the very beginning…...

docker安装rocketMq5x以上的版本

1.背景 安装RocketMQ 5.x以上的版本主要是因为新版本引入了许多性能优化、新功能以及对已有特性的增强,这些改进可以帮助提升消息队列系统的稳定性和效率。 1.性能提升:RocketMQ 5.x版本通常包括了对消息处理速度、吞吐量和延迟的优化,使得系…...

【Spring】DAO 和 Repository 的区别

DAO 和 Repository 的区别 1.概述2.DAO 模式2.1 User2.2 UserDao2.3 UserDaoImpl 3.Repository 模式3.1 UserRepository3.2 UserRepositoryImpl 4.具有多个 DAO 的 Repository 模式4.1 Tweet4.2 TweetDao 和 TweetDaoImpl4.3 增强 User 域4.4 UserRepositoryImpl 5.比较两种模式…...

高阶面试-秒杀系统的设计

场景 特价商品如茅台,在8月1日22点10分0秒开始秒杀 平台用户量:几千万,预计几十万用户感兴趣 需求 临时性的活动,不要太大技术改动 原则 商品不能超卖下单成功的订单不能丢失服务器和数据库不能崩溃尽量不让机器人抢走商品 …...

从零构建高性能技术博客:SSG选型、自动化部署与SEO优化实战

1. 项目概述:一个技术博客的诞生与演进“wangtunan/blog”,这看起来只是一个简单的GitHub仓库名,背后却是一个技术人持续输出、构建个人知识体系的完整实践。它不仅仅是一个存放Markdown文件的代码库,更是一个集成了现代前端技术栈…...

CentOS8实战:ZeroTier构建安全异地虚拟局域网

1. 为什么选择ZeroTier替代传统内网穿透方案 最近在帮朋友搭建远程办公环境时,遇到了一个典型问题:分布在三个不同物理位置的服务器需要像在同一个办公室内网那样互相访问。最初考虑使用FRP方案,但实测下来发现几个痛点:首先是带宽…...

3个按键冲突场景,Hitboxer如何帮你重获游戏控制权?

3个按键冲突场景,Hitboxer如何帮你重获游戏控制权? 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 你是否曾在激烈的游戏对战中,因为同时按下W和S键而突然卡住?或…...

抖音批量下载神器:5分钟学会免费高效下载视频、音乐和直播

抖音批量下载神器:5分钟学会免费高效下载视频、音乐和直播 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback s…...

Windows Android子系统深度优化:WSABuilds项目架构解析与实战部署指南

Windows Android子系统深度优化:WSABuilds项目架构解析与实战部署指南 【免费下载链接】WSABuilds Run Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or Ker…...

基于Kubernetes Lease构建分布式部署锁:解决CI/CD环境下的资源竞争

1. 项目概述:从“clawfight”看一场被遗忘的社区技术博弈看到“2019-02-18/clawfight”这个标题,很多人的第一反应可能是困惑。它不像一个标准的软件项目名,没有清晰的版本号,也没有指明具体的技术栈。但恰恰是这种看似随意的命名…...

蜘蛛池技术解析:网站收录提速的关键工具与运营策略

在搜索引擎优化领域,蜘蛛池是助力网站收录提速的重要辅助工具,尤其适配新站、低权重站或海量内容站,能有效破解收录慢、收录少、深层页面难抓取等痛点。本文从技术原理、核心价值、搭建要点及合规运营策略四方面,全面解析蜘蛛池的…...

Linux内存使用分析与泄漏排查

Linux内存使用分析与泄漏排查内存问题往往不像磁盘满那样直观,也不像进程崩溃那样立刻可见。很多服务在内存异常初期仍然可以运行,只是响应逐渐变慢、交换开始活跃、最终被系统回收或触发 OOM。中级 Linux 工程师需要掌握的,不只是看“还剩多…...

深度学习表示学习:特征学习与迁移学习

深度学习表示学习:特征学习与迁移学习 1. 技术分析 1.1 表示学习概述 表示学习是自动学习数据特征的过程: 表示学习层次原始数据 → 低级特征 → 中级特征 → 高级特征 → 任务预测关键:层次特征提取端到端学习迁移能力1.2 表示学习方法 方法特点监督程度…...

APK安装器终极指南:3种方法让Windows电脑秒变安卓设备

APK安装器终极指南:3种方法让Windows电脑秒变安卓设备 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer APK安装器是一款专为Windows用户设计的安卓应用安装工…...