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

68 ビュー (過去 30 日間)
A LL
A LL 2021 年 8 月 10 日
コメント済み: Leon Hülsmann 2023 年 4 月 22 日
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 Center および File ExchangeGraphics Object Properties についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by