How I can do auto-resized axes in App Designer?
59 views (last 30 days)
Show older comments
Hello! I have done app by AppDesigner, and main window (figure) is resized. But Axes with plots dont change their size. How it may be fix?
0 Comments
Answers (2)
Lucas Chomey
on 13 Feb 2023
Do the command:
axis(app.UIAxes1,"auto"); % UIAxes1 is just the name of the plot window
For auto adjusting the plot window to show all data being plotted.
2 Comments
David
on 30 Jun 2023
Hello. I have the same problem than Pavel.
The 2 answers does not solve the problem. Concerning "normalise", like Pavel, I don't find these options.
And the solution with axis, doesn't work for this problem because it s not to fit to the data in the uiaxes. The problem is when the uifigure is resized, the uiaxes doesn't resize well.
Thank you all for your reply because I tried lot of things without success.
Rik
on 20 Feb 2022
You should confirm the units property of your axes is set to normalized. If this is not possible you will have to use a listener that will resize the axes when the figure changes size.
3 Comments
Ramanan
on 11 Jan 2024
Edited: Ramanan
on 12 Jan 2024
Unfortunately, the app designer UI doesn't provide you with the option to change the units property. Alternatively, you can create a panel in the app designer window and place the UIAxes under the panel. Then in the startup function, add the below commands.
app.UIAxes.Units = "normalized"; % Changes units to scalable
app.UIAxes.Position = [0 0 1 1]; % Position [x,y] = [0,0] and [Xsize,YSize] = [1 1] of the parent object (Panel element)
It worked for me.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!