How to refresh annotation after each frame?

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

After you're done with each frame, call
drawnow;
to force immediate refresh/repainting of the screen.

2 Comments

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.
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

Products

Tags

Asked:

on 11 Oct 2018

Edited:

on 13 Aug 2019

Community Treasure Hunt

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

Start Hunting!