How I can do auto-resized axes in App Designer?

33 次查看(过去 30 天)
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?

回答(2 个)

Lucas Chomey
Lucas Chomey 2023-2-13
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 个评论
David
David 2023-6-30
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.
Ivan Demec
Ivan Demec 2024-10-29
For me Lucas' solution works just fine in v2024b Update1.

请先登录,再进行评论。


Rik
Rik 2022-2-20
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 个评论
David
David 2023-6-30
Hi Linus! I didn't find too these options? Did you find something? Thanks!
Ramanan
Ramanan 2024-1-11
编辑:Ramanan 2024-1-12
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 App Building 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by