吉安网站建设优化服务,做百度网站优化多少钱,ui设计是什么工作,做服装有哪些好的网站有哪些方面11 - matlab m_map地学绘图工具基础函数 - 绘制航迹、椭圆、风向玫瑰图和特定的圆形区域的有关函数及其用法 0. 引言1. 关于m_track2. 关于m_range_ring3. 关于m_ellipse4. 关于m_windrose5. 结语 0. 引言 本篇介绍下m_map中绘制航迹图函数#xff08;m_track#xff09;、绘… 11 - matlab m_map地学绘图工具基础函数 - 绘制航迹、椭圆、风向玫瑰图和特定的圆形区域的有关函数及其用法 0. 引言1. 关于m_track2. 关于m_range_ring3. 关于m_ellipse4. 关于m_windrose5. 结语 0. 引言 本篇介绍下m_map中绘制航迹图函数m_track、绘制特定半径的范围的函数m_range_ring、绘制椭圆的函数m_ellipse、绘制风玫瑰图的函数m_windrose。
1. 关于m_track m_track函数用于在地图上绘制航迹。这个函数可以用来可视化航行路径或飞行路径等。航迹图上可以标注时间和日期。 m_track 函数的一般形式为
m_track(lon,lat,varargin)其中
lon 和 lat航迹点的经度和纬度坐标。varargin可选参数控制航迹线的刻度样式、日期和时间标签样式。主要包括下面内容 ticks 刻度间隔以分钟为单位默认为60分 times 时间标签间隔以分钟为单位默认为240分钟 dates 日期标签间隔以分钟为单位默认为720分钟 timef[ormat] 时间在刻度线上的显示样式 datef[ormat] 日期在刻度线上的显示样式 color 航迹线和标签颜色设置默认为黑色; linew[idth] 航迹线线宽设置 lines[tyle] 航迹线线形设置 fonts[ize] 标签字体尺寸设置 fontn[ame] 标签字体设置 clip 是否进行裁剪on/off orien[t] 标签方向(true/upright)
示例(利用官网示例)
m_proj(UTM,long,[-72 -68],lat,[40 44]);
m_gshhs_i(color,k);
m_grid(box,fancy,tickdir,in);
m_ruler(1.2,[.5 .8]);% fake up a trackline
lons[-71:.1:-67];
lats60*cos((lons115)*pi/180);
datesdatenum(1997,10,23,15,1:41,zeros(1,41));m_track(lons,lats,dates,ticks,0,times,4,dates,8,...clip,off,color,r,orient,upright);m_northarrow(-68.5,43.4,.4,type,2);下图红色部分即为m_track命令加载的内容可以使用上面提到的属性进行绘图样式的调整 2. 关于m_range_ring m_range_ring 函数用于在地图上绘制指定半径的范围圈。这在航海、航空和地理信息系统中很常见用于表示某一点周围的特定半径范围。 m_range_ring 函数的基本语法如下
m_range_ring(lon, lat, radius, varargin)其中lon 和 lat 是范围的中心点投影坐标radius 是范围的半径以与地图坐标系统相匹配的距离单位例如公里或海里表示varargin 可选参数用于指定范围线条的样式、颜色等信息不做展开可以参照其他绘图命令
官网示例
%% 官网示例
close all;clc;clear;
m_proj(hammer,clong,170); % 定义投影
m_grid(xtick,[],ytick,[],linestyle,-); % 不显示坐标轴
m_coast(patch,g); % 陆地填充
m_line(100.5,13.5,marker,square,color,r); % 在当前坐标处绘制了一个红色矩形
m_range_ring(100.5,13.5,[1000:1000:15000],color,b,linewi,2); % 以当前坐标为原点半径间隔为1000绘制15个蓝色范围圈
xlabel(1000km range rings from Bangkok); % 添加图示自建示例
%% 自建
close all;clc;clear;
m_proj(mercator, lon, [69.5 105.5], lat, [24.5 40.5]);
%
m_line(80.5,32.5,marker,square,color,r); % 在当前坐标处绘制了一个红色矩形
m_range_ring(80.5,32.5,[500],color,b,linewi,2); % 以当前坐标为远点向量值为半径绘制15个蓝色范围圈
%
m_gshhs(ic,color,[.5 .5 .5]) % 中等分辨率海岸线
m_gshhs(ir2,color,b) % 中等分辨率河流
m_grid(box,fancy,tickdir,in,gridlines,no,fontsize,12)3. 关于m_ellipse m_ellipse 函数用于在地图上绘制椭圆。 m_ellipse函数的一般形式为
[h,varargout]m_ellipse(long,lat,fmaj,fmin,finc,fpha,scale,type ,varargin)其中long和lat为绘制椭圆的中心点经纬坐标fmaj和fmin 为椭圆的半长轴/半短轴长度finc和fpha为椭圆倾角、相位角以度为单位scale为比例因子type 为类型用于设置线或填充varargin为可选参数用于控制绘图边缘的颜色、宽度等属性这里不做展示。 m_ellipse函数示例如下
clf;
m_proj(lambert,long,[-130 -121.5],lat,[47 51.5],rectbox,on);
m_grid(linewi,2,linest,none,tickdir,out,fontsize,12);[H]m_ellipse(-125,49,20,10,30,30,200,line);
[H]m_ellipse(-125,49,30,10,80,90,200,line,color,r,LineWidth,3,LineStyle,--);4. 关于m_windrose m_windrose函数用于绘制风向玫瑰图。风向玫瑰图通常用来显示风的方向和频率分布适合气象学和地理学的应用。 m_windrose函数的一般形式为
Nm_windrose(long,lat,thet,spd,varargin)其中long,lat为绘制风向玫瑰图的投影坐标thet为风向数据spd为风速数据varargin为可选参数主要包括以下内容 nspeeds: 速度划分区间数量默认值为[0:4:24] ndirs : 方向划分区间数量默认是36个 size : 风向玫瑰图尺寸占背景图的长宽比例 nrings : 背景环数标量或向量(默认值[2 4 6])。如果是标量则设置为间隔2%的环数 labelrings: logical or angle barstyle : 默认颜色和纹路 alpha : 风向玫瑰图的透明度(0到1默认为0.4) m_windrose函数绘图示例示例数据可从资源中获取:
clc;clear;% 加载风速和风向
[data]xlsread(wind data.xlsx);
clf;set(gcf,color,w);
m_proj(lambert,lon,[77 82],lat,[27 32] )
levels[0:4:24]; % Binning for speedsm_windrose({80},{30},{data(:,1)},{data(:,2)},...size,.17,nspeed,levels,alpha,1);colormap(m_colmap(jet));
caxis([0 24]);
m_gridaxbm_contfbar(.8,[.6 .9],levels,levels);
axb.YLabel.StringWind speeds m/s;
axb.YTicklevels;5. 结语 本篇介绍了m_map中绘制航迹图的函数m_track、绘制特定半径范围的函数m_range_ring、绘制椭圆的函数m_ellipse、绘制风玫瑰图的函数m_windrose通过示例展示了各函数的基本用法对于绘制常见地学图已经够用了后面若发现还有其它相关函数再进行补充。希望对绘图的你有所帮助