MATLAB Answers

How to hold on with visible off for plots

12 views (last 30 days)
ubaid haroon
ubaid haroon on 27 Dec 2017
Commented: dpb on 27 Dec 2017
I am running a loop iloop = 1:23 and plotting data 23 times on a scatter plot. This job is currently running on a cluster so I can't have the gui open and I have set figure('Visible','off'). When I use this with 'hold on' only the last iteration of loop is plotted. How can I keep my figure visible but still retain the hold for 1:23?


Show 2 older comments
ubaid haroon
ubaid haroon on 27 Dec 2017
Note: figure is plotted correctly if i set figure('name',Visible','on')
ubaid haroon
ubaid haroon on 27 Dec 2017
I was able to make this work by running multiple loops for each plot i was making.
dpb on 27 Dec 2017
More than likely your problems stem from the following code snippet...
for i = 1:23
fig1 = figure('name','NameOfFigure','Visible','off')
The above creates 23 different figures but uses the same variable has the handle for each. And, each call to scatter will thus plot into a new gca which will be the axes object of the lastest figure created. And, subsequently, when you use fig1 as the handle to the figure, you get only the last one; you've overwritten the variable for the previous 22 that are still there, just not visible.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!