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 )
其中,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)的一系列函数及其用法,给出了简单示例,在使用时可以作为参考。希望对你有所帮助。
😜
😜😜
😜😜😜😜
相关文章:
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/,查看最新版。原创作品,转载请保留出处。 作者主页࿱…...
谈谈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学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...
【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秒开始秒杀 平台用户量:几千万,预计几十万用户感兴趣 需求 临时性的活动,不要太大技术改动 原则 商品不能超卖下单成功的订单不能丢失服务器和数据库不能崩溃尽量不让机器人抢走商品 …...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
Vue 3 + WebSocket 实战:公司通知实时推送功能详解
📢 Vue 3 WebSocket 实战:公司通知实时推送功能详解 📌 收藏 点赞 关注,项目中要用到推送功能时就不怕找不到了! 实时通知是企业系统中常见的功能,比如:管理员发布通知后,所有用户…...
Vue3 PC端 UI组件库我更推荐Naive UI
一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用,前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率,还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库(Naive UI、Element …...
boost::filesystem::path文件路径使用详解和示例
boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类,封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解,包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...

二维输入
二维输入