How can I clear a graph before drawing a new one?
23 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I wrote a function (let's call it 'test') that draws a graph (the formula is given as input) with the 'ezplot' function and some rectangles, who's position depends on the graph. The 'test' function is called different times by another function, so all the rectangles are drawn in the window by using
hold all
in 'test's code. When I call 'test' a first time, everything works fine.
However, when I don't close the graph window and call 'test' again with another formula, the new graph and rectangles are drawn in the same window as the first graph and everything overlaps eachother.
Can I draw the second graph in the same window, but clear that window (in order to delete the first graph and rectangles) first? Or is it even possible to draw it in a new window?
0 Commenti
Risposte (2)
Matt Kindig
il 22 Apr 2013
To clear the existing plot first:
cla(gca);
ezplot(...);
To draw a plot in a new window:
figure(); ezplot(....)
You should also learn about the 'hold' command, which allows you to control this clearing behavior.
doc hold
1 Commento
Walter Roberson
il 22 Apr 2013
Pass the figure number of the graph figure to clf()
2 Commenti
Walter Roberson
il 22 Apr 2013
You could pass a flag indicating whether to do the clf() or not. Or you could use "persistent" to hold on to a copy of the formula, and when you detect that the current formula is different than the memorized one, do the clear (and update the memorized version.)
Vedere anche
Categorie
Scopri di più su Polygons in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!