Why does figure(2) keeps overwriting the previous figure?

72 次查看(过去 30 天)
I try to open figure(2) in a different window but it keeps overwriting the previous figure.
I am currently working with MATLAB R2020a.
I tried something very simple as such:
figure(1), plot([0:10],[0:10])
figure(2), plot([0:10],[10:-1:0])
figure(3), plot([0:10],rand(1,11))
figure(1) and (3) always open in a separate window but figure(2) keeps overwriting figure(1).
See attached figures
Does anyone know how to fix this?
Thank you
  7 个评论
A LL
A LL 2021-8-10
编辑:A LL 2021-8-10
I am just running the commands in my MATLAB Command Window and it keeps doing the same thing.
There is no problem for figure(3), (4), (5) or anything over.
The problem is only for figure(2).
I have attached a screenshot of the commands I'm running in my MATLAB Command Window.
Here is the code I am running and the command Risk asked for.
>> figure(1), plot([0:10],[0:10])
>> figure(2), plot([0:10],[10:-1:0])
>> figure(3), plot([0:10],rand(1,11))
>> which figure -all
built-in (C:\Program Files\MATLAB\R2020a\toolbox\matlab\graphics\figure)
Thank you
Leon Hülsmann
Leon Hülsmann 2023-4-22
I know I'm late to the party, but if you run clf at the beginning of your script, this happens for whatever reason

请先登录,再进行评论。

回答(1 个)

Sina Rangriz
Sina Rangriz 2021-8-10
编辑:Sina Rangriz 2021-8-10
use save command to see whether it is working
surf(peaks)
savefig('MySavedPlot.fig')
close(gcf)
I was running your three lines in matlab 2020b and it shows seperate figures with correct labels.
check your other parts of your code to see whether something shadows your plot
  2 个评论
A LL
A LL 2021-8-10
Thank you Sina Rangriz for your answer.
I just wanted to display the figures without saving them to compare them on my screen when I run a code.
I can save them just fine an them open the figures in different windows but my problem is that I want to see my different plots in different windows when I run my code.
Thank you
Sina Rangriz
Sina Rangriz 2021-8-10
This problem is kinda weird because on my computer your attached codes working well....
figure(n) finds a figure in which the Number property is equal to n, and makes it the current figure. If no figure exists with that property value, MATLAB® creates a new figure and sets its Number property to n.
try with empty figure....like:
figure, plot([0:10],[0:10])
figure, plot([0:10],[10:-1:0])
figure, plot([0:10],rand(1,11))

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Specifying Target for Graphics Output 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by