How to create a movie and play it instead of using a for loop of plots
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a cell (Nx1) which contains data (x,y,z coordinates). I then proceed to create N plots in a for loop which results in a movie like output.
However, I would like to be able to collect all the plots (silently) in a movie and then play it, save it etc.
I've found this:
but I don't know how this helps when you have various plot commands each of which draws a new plot.
0 commentaires
Réponses (2)
Naz
le 24 Nov 2011
Here is what I use. Don't know if it will work as is, but first it should play it (as a sequence of frames of 3D matrix DATA) and then play it again after saving to 'outFileName'... Don't remember exactly.
fig1 = figure(1);
winsize = get(fig1, 'Position');
winsize(1:2) = [0 0];
winsize(3:4) = winsize(3:4)*1.5;
numframes =total;
A = moviein(numframes, fig1, winsize);
set(fig1, 'nextplot', 'replacechildren');
for i = 1:numframes
imagesc(DATA(:,:,i), [0 0.3]); axis image; axis off; colormap gray
title(num2str(i));
A(:,i) = getframe(fig1, winsize);
end
frame_rate = 10;
movie(fig1,A,1,frame_rate, winsize)
movie2avi(A,num2str(outFileName), 'fps', frame_rate)
*In 'imagesc' line the term [0 0.3] is for contrast (you might not needed).
0 commentaires
Nino
le 11 Juin 2013
Hello NAz, you answer is clear. but, suppose to have a trajectory defined in an array 3D+time (x,y,z,t). how is possible tu play the trajectory and read the time value on the plot by pointing the mouse on the graph?
0 commentaires
Voir également
Catégories
En savoir plus sur Convert Image Type dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!