I'm having a problem generating a gif from a netcdf file.
I am using the script below that I took as a reference in the following link:https://la.mathworks.com/matlabcentral/answers/354954-how-to-make-animation-from-netcdf-file
the google drive link with the netcdf file I used is this: https://drive.google.com/drive/folders/1G8Oj88iqk0g71WLe-p0Q1WN6G5wwGZoq?usp=sharing
the error is in the "surf" command, I don't know how to solve it, does anyone have an idea?
%% script
file = 'data_chirps.2020.12.nc' ;
lon = ncread(file,'longitude') ;
lat = ncread(file,'latitude') ;
t = ncread(file,'time') ;
precip = ncread(file,'precip') ;
% Make animation
filename = 'test.gif';
for i = 1:length(t)
surf(lon,lat,precip(:,:,i))
shading interp
view(2)
drawnow
% Capture the plot as an image
frame = getframe(gcf);
im = frame2im(frame);
[imind,cm] = rgb2ind(im,256);
% Write to the GIF File
if i == 1
imwrite(imind,cm,filename,'gif', 'Loopcount',inf);
else
imwrite(imind,cm,filename,'gif','WriteMode','append');
end
end

 Réponse acceptée

Walter Roberson
Walter Roberson le 31 Jan 2023

0 votes

Reminder: longitude is y data and latitude is x data but surf requires x then y

1 commentaire

ok, this was the problem, I changed the orders.
thanks!
surf(lat,lon,precip(:,:,i))

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Version

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by