Set default to plot in a new figure

4 views (last 30 days)
Erin
Erin on 9 Sep 2014
Commented: jkr on 8 May 2018
Is it possible to set the MATLAB default to automatically open plots in a new figure instead of reusing the current figure?
  1 Comment
José-Luis
José-Luis on 9 Sep 2014
Edited: José-Luis on 9 Sep 2014
Is it an option to programmatically generate a new figure?

Sign in to comment.

Answers (2)

Star Strider
Star Strider on 9 Sep 2014
Edited: Star Strider on 9 Sep 2014
It won’t automatically do that (it can’t guess what you’re thinking, unfortunately), but you can program it to do so.
Use the figure function:
x = linspace(0,2*pi,250);
for k1 = 1:3
y = sin(k1*x);
figure(k1)
plot(x, y)
grid
axis tight
end
You can also use a variation on this theme to produce subplot axes in a figure.

Erin
Erin on 9 Sep 2014
I was just wondering if there was a way to change the startup file to do it automatically when MATLAB starts.
  2 Comments
Star Strider
Star Strider on 9 Sep 2014
I looked through ‘Options’ and the available online documentation and couldn’t find anything on changing that default. The closest you can likely get is the newplot function. I doubt if it would work as a default anyway, since it reads the current figure’s 'NextPlot' property and acts accordingly.
jkr
jkr on 8 May 2018
Can this become an enhancement request please? Reuse figure as a default does all kinds of stupid things, like plotting a histogram on the axes of a prior scatterplot. These can be readily corrected, but involve unnecessary rework. The ability to create plots quickly and easily in the variable browser is a powerful convenience. Why not make it work a bit better. It seems it should be simple.

Sign in to comment.

Categories

Find more on Specifying Target for Graphics Output 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!