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

 Respuesta aceptada

Walter Roberson
Walter Roberson el 31 de En. de 2023

0 votos

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

1 comentario

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

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by