Why is matlab creating multiple figures

16 views (last 30 days)
Venessa
Venessa on 7 Aug 2024
Answered: Arjun on 7 Aug 2024
I have a picture of the code and part of what its doing when I run it but it is creating hundreds of figures of the two plots I'm trying to create. Clearly I'm missing something
  1 Comment
KSSV
KSSV on 7 Aug 2024
Every time a new figure is being opened becuase figure is mentioned. Comment it or delete this. If you want all plots in a single figure use hold on

Sign in to comment.

Answers (2)

Walter Roberson
Walter Roberson on 7 Aug 2024
You are calling figure() within your while loop, so each time you create a new figure.
You should probably be calling figure() passing in a figure number
figure(2);
and
figure(3);

Arjun
Arjun on 7 Aug 2024
Hi,
As per my understanding of the question, the issue is that on running the program many figure windows open which is not the desired output.
  • The reason is the abuse of the MATLAB figure inside the while loop which is running N number of times.
  • Each time inside the loop two new figure window are created and thus you get 2*N number of figure windows from inside the while loop itself.
  • Whenever you write figure MATLAB creates a new figure window and automatically sets it as the current window where all the activity will go in.
Please refer more about figure in the documentation attached.
Instead, what you can do is to use figure(x) syntax to select a particular already existing figure and make it current figure and then use hold on to draw in the same plot and same figure.
Please read through documentation of hold.
I hope this will help!

Categories

Find more on Graphics Performance in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!