How can I use plotmatrix over UIAxes in app designer?

5 views (last 30 days)
Mohammad Shahbazy
Mohammad Shahbazy on 30 Jul 2021
Commented: Dave B on 30 Jul 2021
Hi All,
I want to use plotmatrix over UIAxes in app designer but I encounter with an error message as follow:
X = rand(1000,3);
plotmatrix(app.UIAxes,X,'.b');
*Error:
Adding a plotmatrix to a container with the 'AutoResizeChildren' property set to 'on' is not supported.
How can I resolve this issue? Can you please help me to correct my code? I could not set 'AutoResizeChildren' of UIAxes to 'off'.
Thanks in advance,
MS

Accepted Answer

Dave B
Dave B on 30 Jul 2021
AutoResizeChildren is a property on the UIFigure, not the UIAxes.
If you select app.UIFigure in the Component Browser you'll see AutoResizeChildren under Position
More details about this property here.
  2 Comments
Dave B
Dave B on 30 Jul 2021
That gets a little tricky, I think that plotmatrix wants it off, not just off temporarily.
The documentation for UIFigure's AutoResizeChildren indicates that "The AutoResizeChildren property affects direct children of the container, not children inside nested containers."
If you need AutoResizeChildren to be on for other aspects of the app, you might try putting the plotmatrix in a panel and turning off AutoResizeChildren for the panel (i.e. by making a panel, putting the uiaxes in the panel, and turning AutoResizeChildren off for the panel before calling plotmatrix).
This page has some other suggestions regarding alternatives to AutoResizeChildren and probably is more clear about how it works than I can be!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!