Using a single figure frame for chasePlot used inside a loop

I have a while loop inside of which I have to use a plot and a chasePlot function.
The problem is, it comes up with a new window figure each time the loop runs. I somehow want a single frame which can be updated rather than each time making a new window and figure for it.
Anybody knows how to prevent a new figure in each loop so that one figure is there and that keeps on updating.

 Accepted Answer

If you have a handle to the axes you are using you can pass it to the 'Parent' property of the chasePlot when you construct it.
Something like:
hAxes = axes
chasePlot(scenario, 'Parent', hAxes)

3 Comments

Thank you it works! But I used it like...
figure(1)
hAxes = axes;
chasePlot(passingCar,'Parent',hAxes);
You'll probably want to do something like this (ultimately)
% set working figure to figure 1 (creating if it doesn't exist)
figure(1);
% get current axes (creating if it doesn't exist)
hAxes = gca;
% pass it to the chase plot.
chasePlot(passingCar,'Parent',hAxes)
If you call axes() you may end up creating a new one each time and just rendering it over the previous axes.
Thank you. This works as well but I am using axes only because it gives me a good view of plot in plot. Though I don't know exactly how the output differs if I use
hAxes = gca;
or
hAxes = axes;
nor I know which one is better in my case.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 13 Nov 2017

Commented:

on 16 Nov 2017

Community Treasure Hunt

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

Start Hunting!