How to stop subsequent plots outputting to the current pane?

On this page it states:
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.

 Risposta accettata

To force MATLAB to create new figure, you need to call figure function before calling the plot.

3 Commenti

Thanks for taking the time to answer.
I was hoping that there was a way of locking the current pane. A way of telling Matlab that that figure is complete and not to update it.
If I have a command I can write into the script to say 'end ammending cuurent subplot/figure' - something like that....
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);
ok, so if I wanted to do a quick plot to check some data without it updating the last subplot I would type
figure; plot(x,y);
in the command window?

Accedi per commentare.

Più risposte (0)

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by