1、Matlab代码及结果
clear;clc
load('.\nclcolormap.mat')
sl = [0,50,100,200,500,0];
el = [50,100,200,500,1000,200];
for i = 1:length(sl)
file = ['..\data\static_result\VIS_Min-',num2str(sl(i)),'to',num2str(el(i)),'_yearly.npy'];
data = readNPY(file);
mask=readNPY('.\mask.npy');
data =data.*mask;
siz = 30;
lat = 15:0.05:55;
lon = 70:0.05:140.05;
[X,Y] = meshgrid(lon,lat);
set(gcf,'color',[1 1 1],'position',[10 45 1000 800*1.2]);
axes('position',[0.1 0.2 0.85 0.6]);
datax = data(:);
datax(isnan(datax))=[];
percentiles = prctile(datax(:), [0,50,80,90:2:98 99.9]);
percentiles = unique(percentiles);
x_ = linspace(percentiles(end-1), percentiles(end), 4);
percentiles = [percentiles(1:end-2), x_];
percentiles = unique(percentiles);
xx1=percentiles(1:end-1);
xx2=percentiles(2:end);
CC1=0;CC2=length(xx1);
data_map=data;
for ii=1:length(xx1)
data_map(data>=xx1(ii)&data<xx2(ii))=ii-0.5;
end
mypcolor(X,Y,data_map);shading interp
hcb=colorbar;
map = nclcolormap.WhBlGrYeRe;
map_ = map(round(linspace(1, length(map), CC2)),:);
colormap(map_)
box on;hold on
caxis([CC1 CC2]);
set(hcb,'xtick',[CC1:CC2],'xticklabel',num2str(percentiles','%.1f')