How to refresh annotation after each frame?

23 views (last 30 days)
I am trying to insert an output in an annotation outside of my plot. The value just keeps stacking on top of each other until it is unreadable. When I use the delete(findall(gcf,'Tag','stream') function it will delete the annotation and not refresh it like I am trying to do. Any suggestions?
annotation('textbox', [0 .6 .1 .2],'String','500 MHz Max Gain Slope (dB):','EdgeColor','none');
annotation('textbox', [0 .55 .1 .2],'String',Delta_band,'EdgeColor','none','Tag','stream')
delete(findall(gcf,'Tag','stream'));

Accepted Answer

Image Analyst
Image Analyst on 11 Oct 2018
After you're done with each frame, call
drawnow;
to force immediate refresh/repainting of the screen.
  2 Comments
Phillip Foy
Phillip Foy on 11 Oct 2018
Thank you for a quick response! So do I even use the delete function with this? When I put drawnow; under my annotations I still end up with a movie that has the data stacked on top of each other.
Phillip Foy
Phillip Foy on 11 Oct 2018
Edited: Phillip Foy on 11 Oct 2018
I was able to put the delete function before the annotations and then use the drawnow; function after the annotations and it worked perfectly! Thank you again for the help!!!
for ind = 1:a
delete(findall(gcf,'Tag','stream'));
annotation('textbox', [0 .6 .1 .2],'String','500 MHz Max Gain Slope (dB):','EdgeColor','none');
annotation('textbox', [0 .55 .1 .2],'String',Delta_band,'EdgeColor','none','Tag','stream')
drawnow;
end

Sign in to comment.

More Answers (0)

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!