MATLAB Answers

App UIAxes Zoom Control

9 ビュー (過去 30 日間)
Tom Paraschuk
Tom Paraschuk 2019 年 2 月 9 日
回答済み: Subhamoy Saha 2020 年 8 月 14 日
Hi everyone
I'm having troubling controlling the zooming of UIAxes in an app I'm desiging. The app has several buttons that generate different graphs. The way it should work is to make the x and y scale tight around the graphs each time a new graph is produced on the axes. I have been unable to achieve this behaviour, because if a user zooms in on a graph, I have found no good way to reset the zoom to make it tight around the next graph.
Some things I've tried are:
  • recreating the graph each time. this worked but it's slow and glitchy when the app is resized
  • set(app.UIAxes, 'XLimSpec', 'Tight'); set(app.UIAxes, 'YLimSpec', 'Tight');. - this has no perceivable effect on the user's zoom
  • zoom(app.UIAxes, 'RESET'); - this didn't compile, even though zoom(app.UIAxes, 'ON'), did compile
I'd be grateful if someone has the solution to this.

回答 (1 件)

Subhamoy Saha
Subhamoy Saha 2020 年 8 月 14 日
As far I have understand, you are facing problem is the new plot appears in the axes limits for the previous zoom state.
You can try adding the following line after your plot command.
axis(app.UIAxes, 'tight')
This will make the axes tight about new set of data you are plotting each time.

Community Treasure Hunt

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

Start Hunting!

Translated by