MATLAB Answers


Set default to plot in a new figure

Asked by Erin
on 9 Sep 2014
Latest activity Commented on by 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

Is it an option to programmatically generate a new figure?

Sign in to comment.

2 Answers

Answer by Star Strider
on 9 Sep 2014
Edited by 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);
plot(x, y)
axis tight
You can also use a variation on this theme to produce subplot axes in a figure.


Sign in to comment.

Answer by 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.


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.
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.