Set default to plot in a new figure

Is it possible to set the MATLAB default to automatically open plots in a new figure instead of reusing the current figure?

1 个评论

Is it an option to programmatically generate a new figure?

请先登录,再进行评论。

回答(2 个)

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 2014-9-9
I was just wondering if there was a way to change the startup file to do it automatically when MATLAB starts.

2 个评论

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

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Annotations 的更多信息

提问:

2014-9-9

评论:

jkr
2018-5-8

Community Treasure Hunt

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

Start Hunting!

Translated by