How to stop subsequent plots outputting to the current pane?
161 views (last 30 days)
Show older comments
Michael O'Brien
on 31 Mar 2021
Commented: Michael O'Brien
on 1 Apr 2021
Description
subplot divides the current figure into rectangular panes that are numbered rowwise. Each pane contains an axes object. Subsequent plots are output to the current pane.
How do I get it to stop doing that?
If I've called subplot previously then I call plot in the command window to quickly check some data the new plot updates the last plotted subplot.
Thank you for your help in advance.
0 Comments
Accepted Answer
Mohammad Sami
on 31 Mar 2021
To force MATLAB to create new figure, you need to call figure function before calling the plot.
3 Comments
Mohammad Sami
on 1 Apr 2021
Unfortunately there is no such option. The only way you can ensure the plot goes where you want it to go, you should pass the axes handle as the first argument of your plot function. This would ensure the plotting uses the correct axes. You can also alternatively call axes(existing), subplot(existing), figure(existing) to make them the current axes / current figure that will be used to plot.
% example
f = figure;
a = axes(f);
plot(a,1:10,1:10);
f2 = figure;
a1 = subplot(2,1,1);
plot(a1,1:10,1:10);
a2 = subplot(2,1,2)
plot(a2,1:10,1:10);
hold(a1,'on');
plot(a1,10:-1:1,1:10);
subplot(a2);
plot(10:-1:1,1:10);
figure(f);
hold(gca,'on');
plot(10:-1:1,1:10);
More Answers (0)
See Also
Categories
Find more on Line Plots 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!