<写在前面>
关于台风轨迹图,这次由于作业需要就画了一幅轨迹图,参考原图选自论文:
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实时资料中心的相关数据;
如有错误还望批评指正!
台风轨迹的绘制可以通过m_patch或者m_line等命令进行绘制;
以下是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设置渐变线条的示例,以下是示例结果:
最后在<图像一览>中呈现的图就是用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
....然后是一些图像注释等代码(此处省略)
这里大致分析一下代码内容:
argo位置标记直接使用m_plot即可,此处不作赘述
在1.2中有应用到colorbar某特定数值的RGB返回,这里再次进行总结