当我们要画一些气候态的分布,以及画气候态距平的图时,往往要用到很多年的数据,而且还要做同时段的比较分析,所以在这分享一下我的方法。
cd('E:\dailysst'); %打开装多年数据文件的位置
Path = 'E:\dailysst'; % 设置文件路径
File=dir(fullfile(Path,'*.nc')); % dir函数读取nc文件名'name'
Len=length(File); %文件的数量
%%
%03年
sst03=[];%建立空数组
for i=1:Len
year=1992+i;%年份
sta=31+28+31+30+31+24;num=22; %每年的同时段位置
if mod(year,4)==0
sta=sta+1;
end %当遇到闰年加1(二月多一天),二月之前的不用这部分
f2=File(i).name; % 拼接路径和文件名,并显示
v=ncread(f2,'sst',[1,161,sta],[inf,400,num]);%读取该时段数据
v=mean(v,3);%做平均
sst03=cat(3,sst03,v);%拼接多年数据
end
cd('D:\typhon span\SST');%打开画图程序所在位置,后面就可以运用上面得到的数据进行画图啦
t03_mean=mean(sst03,3);
ssta03=sst03(:,:,11)-t03_mean;
figure(1);
m_proj('mercator','longitudes',[0 360],'latitudes',[-50 50]);
m_coast('patch',[0.7451 0.7451 0.7451],'edgecolor','none');
m_grid;
hold on
m_plot(wx,wy,'k','linewidth',0.1);%绘制国界
hold on
m_contourf(lon,lat,ssta03');
colormap(slanCM(104));
caxis([-5,5]);
colorbar;
xlabel('经度','fontsize',12);
ylabel('纬度','fontsize',12);
title('03年ssta分布图','fontsize',12);
saveas(gca,'03年ssta分布图.jpg');
仅供参考,如有更好的方法请赐教。