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.
No products are associated with this question.
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).
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?