matlab画台风轨迹图⼩tip
<;写在前⾯>
关于台风轨迹图,这次由于作业需要就画了⼀幅轨迹图,参考原图选⾃论⽂:
LIU Zenghong, XU Jianping, SUN Chaohui, WU Xiaofen. An upper ocean response to Typhoon Bolaven analyzed with Argo profiling floats [J]. Acta Oceanol. Sin., 2014, 33(11), 90–101
⼤家有兴趣可以⾃⾏查论⽂进⾏阅读,本⽂所绘制台风轨迹图选取论⽂中的Bolaven(1215号)台风,台风数据采⾃JMA(由于本⼈还在学习中,论⽂中Unisys weather information system尚不会使⽤,望了解unisys weather的伙伴有时间可以指导,在此感谢>-<),argo浮标数据则主要来源于中国Argo实时资料中⼼的相关数据;
如有错误还望批评指正!
<;图像⼀览>
1 关于台风轨迹绘制
台风轨迹的绘制可以通过m_patch或者m_line等命令进⾏绘制;
1.1 m_patch
以下是m_patch绘制的简单⽰范图:
在使⽤m_patch的时候需要注意lat的最后⼀个值需要是NaN,不然得到的图像将会是⼀⽚阴影覆盖部分
m_proj('mercator','lat',[15,30],'lon',[120,150]);
m_coast('patch',[.7.7.7],'edgecolor','none');
m_grid('linestyle',':','box','fancy','tickdir','out','linecolor','w',...
'alpah','0.5','ytick',[15:5:30],'xtick',[120:5:150]);
lat(end)=NaN;%就是这句,⼀定要设置NaN,否则图像是⾯,⽽⾮线!
m_patch(lontc,lattc,'k');
羽绒服品牌大全在patch命令中可以直接设置线条为渐变颜⾊,但是在m_patch中,可能是由于命令要求不同,在mmap⽂件m_patch.m中注释要求颜⾊设置需要是字符或者1x3 RGB数组,因此个⼈在设置渐变时失败,⼤家也可以各⾃尝试⼀下,共享经验!
网页下载命令⾏输⼊openExample(‘graphics/CreateMulticoloredLineExample’)就可以调⽤运⾏matlab中patch设置渐变线条的⽰例,以下是⽰例结果:
1.2 m_line
最后在<;图像⼀览>中呈现的图就是⽤m_line绘制的了,这⾥需要注意的是,m_line是绘制线条,两点确定⼀条直线,本⼈⼀开始没有意识到这⼀点,最后得到的结果不连续。
f1 =figure(1);
m_proj('mercator','lat',[15,30],'lon',[120,150]);
m_coast('patch',[.7.7.7],'edgecolor','none');
m_grid('linestyle',':','box','fancy','tickdir','out','linecolor','w',...
'alpah','0.5','ytick',[15:5:30],'xtick',[120:5:150]);
colormap(m_colmap('jet',41));
colorbar;
caxis([15,55]);
cmap =colormap(f1);
n =length(lontc);
文秘专业知识for i =1:n
if(isnan(ws(i))==1)
ci =cmap(1,:);
else
ci =cmap(ws(i)-14,:);
end
hold on
if(i ==1)
m_line(lontc(1:2),lattc(1:2),'Color',ci,'linewidth',4);
else
路由器的网址是什么
m_line(lontc(i-1:i),lattc(i-1:i),'Color',ci,'linewidth',4);
end
end
e10....然后是⼀些图像注释等代码(此处省略)
这⾥⼤致分析⼀下代码内容:
工作辞职理由1. m_proj,coast,grid进⾏基本投影海岸等设置
2. 选取想要应⽤的colorbar并设置想要的范围并返回得相应的cmap,这⾥要注意,本⼈在设置时候colormap(m_colmap(‘jet’,41)),这样得到的cmap恰好是41x3 RGB矩
阵,恰好caxis为[15,55],并以1为步长时的数组⼤⼩为41,这样从15到55,⽅便每个整数对应⼀个1x3 RGB矩阵
3. ci就是根据具体风速所提取的RGB矩阵,再通过for循环,对m_line进⾏拼接,这⾥m_line每两点画⼀个,颜⾊ci为相应速度⼤⼩在colorbar中对应的RGB,然后画n次
4. 注意事项:m_line需要是两点才能防⽌间断,ci是相应最⼤风速⼤⼩根据colorbar返回的颜⾊
2 关于argo位置的标记
argo位置标记直接使⽤m_plot即可,此处不作赘述
3 关于colbar颜⾊返回值
在1.2中有应⽤到colorbar某特定数值的RGB返回,这⾥再次进⾏总结
1. colormap jet(n),表⽰设置颜⾊数为n,类型为jet的colormap,该colormap是由nx3的RGB矩阵构成的,jet可以替换成⾃⼰喜欢的colormap类型
2. cmap = colormap;可以返回该colormap的cmap值,若有多个坐标区域,注意要标明在哪个坐标区域
3. caxis可以设置colorbar对应的颜⾊范围,如<;图像⼀览>中采⽤的是15~55,那对应1中n的设置最好是(55-15+1)的整倍数
4. 根据相应的⼤⼩提取RGB数组,如要选择风速为20时候colorbar对应的RGB数组,ci=cmap((20-14),:)
5. 通⽤公式:已设置colormap颜⾊数n,caxis范围[a1,a2],当数值为A时的RGB为:ci=cmap((A-a1+1)*(n/(a2-a1+1)),:)
-------注意上述通⽤公式只是⼀个总结,不⼀定完全适⽤于所有的情况,在使⽤过程中要抓住两个要点,① colormap不是完全连续的,colormap(n),是把颜⾊谱分成n段;②提取colormap后,根据⾃⼰的选出的值会落在那个段中决定,然后选择相应的顺序。[修正于2019/04/29]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论