Why does figure(2) keeps overwriting the previous figure?
Ältere Kommentare anzeigen
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 Kommentare
Dave B
am 10 Aug. 2021
The three figures you attached seem to match the three plot commands you provided, can you clarify what you were expecting?

Just to show your code in R2021a behaves as expected:
figure(1), plot([0:10],[0:10])
figure(2), plot([0:10],[10:-1:0])
figure(3), plot([0:10],rand(1,11))
A LL
am 10 Aug. 2021
Can you confirm this is the exact code you're using?
And can you show the results of this line of code?
which figure -all
Dave B
am 10 Aug. 2021
Do you mean this is what appears when you run the code you included? That would be very surprising.
Or when you open the .fig file? That would be unsurprising, the figure window is not saved in the .fig file...
Leon Hülsmann
am 22 Apr. 2023
I know I'm late to the party, but if you run clf at the beginning of your script, this happens for whatever reason
Antworten (1)
Sina Rangriz
am 10 Aug. 2021
Bearbeitet: Sina Rangriz
am 10 Aug. 2021
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 Kommentare
A LL
am 10 Aug. 2021
Sina Rangriz
am 10 Aug. 2021
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))
Kategorien
Mehr zu Creating, Deleting, and Querying Graphics Objects finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


