how to make a spatial map with two dimensional matrix
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have a matrix SH=721X1440
I want to make a spatial map with that. lat=721x1 , lon=1440x1, time = 1044624. I attached lat matrix as lat1 and lon matrix as lon1.
index=find((lon1>180));
new_lon=lon1(index,1)-360;
new_lon1=([new_lon;lon1(1:721)]);
% for l=1:12
% disp(l)
l=1;
flayer=SH(l,:,:);
reshape_one=reshape(SH(l,:,:),[721 1440]);
[LON,LAT] = meshgrid(new_lon1,lat1);
shift_sh=circshift(reshape_one,720,2);
figure1 = figure;
load coast;
axes1 = axes('Parent',figure1,'FontSize',14,'DataAspectRatio',[1 1 1]);
box(axes1,'on');
grid(axes1,'on');
axes1.GridColor = [0, 0, 0];
xlabel(['Longitude (',char(176),')'],'FontSize',18,'FontName','Arial','FontWeight','bold');
ylabel(['Latitude (',char(176),')'],'FontSize',18,'FontName','Arial','FontWeight','bold');
set(gca,'XLim',[-180 180]);
set(gca,'YLim',[-90 90]);
set(gca,'XTick',-180:30:180);
set(gca,'YTick',-90:30:90);
hold on
xlim([-180 180]);
ylim([-90 90]);
h=pcolor(LON,LAT,shift_sh);
h.EdgeColor='none';
hold on
colormap jet
hold on
h1=geoshow(lat, long, 'color', 'black','linewidth', 2);
% colorbar;
c=colorbar;
0 Kommentare
Antworten (1)
KSSV
am 1 Sep. 2021
Let X, Y, Z be your data. Where X is m*n, Y is m*n and Z is m*n*p matrix.
for i = 1:p
pcolor(X,Y,Z(:,:,i))
drawnow
end
To plot a time series at a point (i,j)
plot(squeeze(Z(i,j))) ;
Also have a look on slice.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Orange finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!