How to set axis limit as a function of time with fanimator
    4 views (last 30 days)
  
       Show older comments
    
I have an object I would like to center in the figure frame when using fanimator. Say the x-position of the object is simply
x = @(t) 2*t
Then, I would like to be able to use xlim in a way like
hold on;
fanimator(@(t) plot(x(t),y(t)));
xlim([-5 5] + x(t));
ylim([0 3])
hold off;
However, x is just a function handle and t is undefined. How can I achieve this?
0 Comments
Answers (2)
  Ayush Gupta
    
 on 21 Sep 2020
        I have brought this issue to the notice of our developers. They will investigate the matter further.
0 Comments
  Christopher Creutzig
    
 on 19 Jan 2021
        
      Edited: Christopher Creutzig
    
 on 19 Jan 2021
  
      Unfortunately, it is currently not possible to animate xlim/ylim/zlim with fanimator. Changing that would not be easy, based on the structure of graphics objects inside a figure.
For animations requiring this kind of parameters, please use one of the other ways of animating MATLAB graphics as described on https://www.mathworks.com/help/matlab/animation-1.html; for example, using a loop:
for t=0:.1:5
    plot(x(t),y(t),'*');
    xlim([-5 5] + x(t));
    ylim([0 3]);
    pause(0.1);
end
0 Comments
See Also
Categories
				Find more on Animation in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

