純乾貨,請收下!
%Matlab程序讀取sst數據:
close all
clear all
oid='sst.mnmean.nc' %將oid設置爲nc文件名,防止nc文件名過長導致不必要的麻煩 以下用oid代替nc文件名
ncinfo('sst.mnmean.nc'); %讀取nc文件的屬性值 必須保證nc文件和.m程序在同一文件夾下
sst=double(ncread(oid,'sst')); %讀取文件類型爲sst類型的nc文件
nlat=double(ncread(oid,'lat')); %讀取經度變量
nlon=double(ncread(oid,'lon')); %讀取緯度變量
mv=ncreadatt(oid,'/sst','missing_value'); %缺少值和對應精度
sst(find(sst==mv))=NaN; %將缺少值設置爲空值
%% 顯示數據
[x,y]=meshgrid(lon,lat);%根據經緯度信息產生格網,
[Nlt,Nlg]=meshgrid(nlat,nlon);
%Plot the SST data without using the MATLAB Mapping Toolbox
%用Plot方法對sst文件進行畫圖不使用MATLAB自帶的地圖工具 結果:顯示不出來對應的橫縱座標和輪廓
figure
pcolor(Nlg,Nlt,sst(:,:,1));shading interp;
load coast;hold on;plot(long,lat);plot(long+360,lat);hold off
colorbar
%用Plot方法對sst文件進行畫圖不使用MATLAB自帶的地圖工具 結果:顯示不出來對應的橫縱座標和輪廓
%Plot the SST data using the MATLAB Mapping Toolbox
figure
axesm('eqdcylin','maplatlimit',[-80 80],'maplonlimit',[0 360]); % Create a cylindrical equidistant map %根據nc文件創建相應的圖,此處創建eqdcylin即創建柱面等距地圖 還可創建其他類型圖 自行查找axesm屬性資源
pcolorm(Nlt,Nlg,sst(:,:,1)) % pseudocolor plot "stretched" to the grid 用matlab自帶工具僞彩色圖“拉伸”到網格
load coast % add continental outlines 可以用matlab自帶工具添加大陸輪廓
plotm(lat,long)
colorbar