How to move around subplots generated by sbiopredictionci?

1 view (last 30 days)
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 Comments
Priya Moorthy
Priya Moorthy on 5 Dec 2023
@Rebeca Hannah Oliveira, with Florian's updated function, the second workaround should also work for you now.

Sign in to comment.

Accepted Answer

Priya Moorthy
Priya Moorthy on 5 Dec 2023
Edited: Priya Moorthy on 5 Dec 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

More Answers (0)

Communities

More Answers in the  SimBiology Community

Categories

Find more on Extend Modeling Environment in Help Center and File Exchange

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!