plot(ws(1,:),y,'r-+');
fig1 = gcf;
set(fig1, 'NextPlot','replacechildren');
winsize = get(fig1,'Position');
set(gca, 'XLim',[0 20],'YLim',[0 150]);
lim = gca;
for i = 1:noframes
plot(ws(i,:),y,'r-+');
axes = lim;
drawnow;
a(:,i) = getframe;
end
I am trying to visualize some data with time and need to make a movie with it, I researched a little and got to a point where i can genrate a movie but the axes in the movie keeps changing. And it makes no sense if i can't fix the axes and tried to do that with no avail, can anyone of you gurus look at this and give me some insights, into this.
Essentially i have vector ws at various time stamps in a variable and have a another vector which which is constant, so the y axis remains constant because i am always plotting ws against the same y but the x axis on which i plot ws keeps changing and i need to stop that.
thanks nk

 Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 27 Juil 2011

0 votes

axis([Xmin Xmax Ymin Ymax]);

1 commentaire

Nikhil
Nikhil le 27 Juil 2011
tried that in the for loop it says that
??? Subscript indices must either be real positive integers or logicals.

Connectez-vous pour commenter.

Plus de réponses (2)

Nikhil
Nikhil le 27 Juil 2011

0 votes

sorry man i guess i was using axis as a variable for something, i guess i didn't realize that, thanks a bunch though

1 commentaire

Fangjun Jiang
Fangjun Jiang le 27 Juil 2011
You have this line: axes=lim. Notice that axes is a built-in function.

Connectez-vous pour commenter.

Image Analyst
Image Analyst le 27 Juil 2011

0 votes

Every time you plot, it blows away prior settings. So you need to determine your limits in advance and then after you call plot() with your new data (in your loop), issue calls to xlim() and ylim() to change the limits to your predetermined standard limits.

2 commentaires

Nikhil
Nikhil le 27 Juil 2011
can you tell me a way to save xlim and ylim in a variable? i mean i get what you are saying but can't just implement it, i got it working now after changing the "axis" jiang was pointing out but i am still hard coding the limits.
Fangjun Jiang
Fangjun Jiang le 27 Juil 2011
AxisLimit=axis(gca);
axis(AxisLimit+10);
The same applies to xlim(),ylim() and zlim()

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating, Deleting, and Querying Graphics Objects dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by