# determine axis limits *before* plotting..?

16 views (last 30 days)
Bradley Stiritz on 9 Sep 2012
Hi everyone,
I need to determine the y-axis limits "before" rendering my plot, b/c the elements are rendered in a loop, one at a time. xlim() isn't any use in this case. Will I have to reverse-engineer MATLAB's algorithm, or is there another approach?
##### 3 CommentsShow 1 older commentHide 1 older comment
Bradley Stiritz on 9 Sep 2012
Hi Oleg,
Thanks for your question. Let me clarify: within the rendering loop, MATLAB is forced to reset the y-axis limits & re-render the whole plot each time a new figure element is drawn which exceeds the current limits. Doing this hundreds of times for a single plot is significantly time-consuming.
Therefore, as I said, I want to determine & set the y-axis limits via ylim() "before" the rendering loop. Does this make sense?
Oleg Komarov on 9 Sep 2012

Jan on 9 Sep 2012
Edited: Jan on 10 Sep 2012
Yair has explained some tricks to http://undocumentedmatlab.com/blog/plot-performance/. You can set the XLimMode of the current axes to 'fixed' and let Matlab determine the limits at the end only by resetting it to 'auto'.
##### 3 CommentsShow 1 older commentHide 1 older comment
Yair Altman on 10 Sep 2012
Edited: Yair Altman on 10 Sep 2012
Bradley Stiritz on 10 Sep 2012
Yair, thanks for the very helpful blog postings. Your work is greatly appreciated, as always!

Image Analyst on 9 Sep 2012
You can save the y and x limits for the current axes at any time by using the ylim and xlim functions:
% Save initial limits.
initial_ylim_values = ylim();
initial_xlim_values = xlim();
% Now plot something that will change the ylimits
plot(x, y); % Some y that will change the y limits.
after_ylim_values = ylim();
after_xlim_values = xlim();
Bradley Stiritz on 9 Sep 2012
Hi, thanks for your comment. I'm not sure you're seeing my situation? Please see my response to Oleg, above..
Image Analyst on 9 Sep 2012
Then you need to set "hold on" and MATLAB will "lock down" all those settings and not allow subsequent plots to change them.

### Categories

Find more on Environment and Settings 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!