How to move around subplots generated by sbiopredictionci?

1 Ansicht (letzte 30 Tage)
I don't know if I accidentally changed some plotting configuration, but in the past weeks I have been having an issue with the subplots generated by sbiopredictionci. I can edit the data normally in the subplots and I can delete subplots as I wish, but for some reason I can't move the subplots around in the Figure window. It's like they have been fixed in place somehow.
Is this configurable?
Thanks!
  7 Kommentare
Priya Moorthy
Priya Moorthy am 5 Dez. 2023
@Rebeca Hannah Oliveira, with Florian's updated function, the second workaround should also work for you now.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Priya Moorthy
Priya Moorthy am 5 Dez. 2023
Bearbeitet: Priya Moorthy am 5 Dez. 2023
Hi, Rebeca,
Starting in R2023b, SimBiology uses tiledlayout to manage the layout of axes of its plots. This change improves the performance of rendering and resizing plots. Tiled layout also supports setting a global title, x-label and y-label. However, it does constrain your axes position to be fixed to a grid.
As a manual workaround, you can reparent the axes directly to the figure and delete the tiledlayout object. This will allow you to manually move and resize the axes again. For example, where ci_pred is a PredictionConfidenceInterval object:
% Create the plot
fh = ci_pred.plot();
% Get all the axes in the figure
allAxes = findobj(fh, 'type', 'axes');
% Reparent the axes to the figure
[allAxes.Parent] = deal(fh);
% Set the axes units to 'normalized' so they will resize with the figure
[allAxes.Units] = deal('normalized');
% Delete the unused tiled layout manager
delete(findobj(fh, 'type', 'tiledlayout'));
Note that you can combine the middle three actions into a single line of code for convenience:
set(findobj(fh, 'type', 'axes'), 'Parent', fh, 'Units', 'normalized');
Also, please see the following post for a discussion of how to change the layout of your plot programmatically: https://www.mathworks.com/matlabcentral/answers/367190-how-modify-the-number-of-rows-and-columns-of-plots-when-i-plot-a-sbiopredictionci-object.
I hope one of these workarounds help. Please reach out with any further questions.
Best,
Priya

Weitere Antworten (0)

Communitys

Weitere Antworten in  SimBiology Community

Kategorien

Mehr zu Extend Modeling Environment finden Sie in Help Center und File Exchange

Produkte


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by