How to move around subplots generated by sbiopredictionci?
1 view (last 30 days)
Show older comments
Rebeca Hannah Oliveira
on 5 Dec 2023
Commented: Rebeca Hannah Oliveira
on 5 Dec 2023
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
on 5 Dec 2023
@Rebeca Hannah Oliveira, with Florian's updated function, the second workaround should also work for you now.
Accepted Answer
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
0 Comments
More Answers (0)
Communities
More Answers in the SimBiology Community
See Also
Categories
Find more on Extend Modeling Environment in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!