Using a single figure frame for chasePlot used inside a loop

1 view (last 30 days)
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

Greg Dionne
Greg Dionne on 14 Nov 2017
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
Greg Dionne
Greg Dionne on 15 Nov 2017
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.
Haroon
Haroon on 16 Nov 2017
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)

Community Treasure Hunt

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

Start Hunting!