Insert text to the image in for loop

11 views (last 30 days)
Hi,
I am trying to insert text to the series of images being generated for each iteration in for loop. For instance, lets say for f = 1:1:200, at f = 1 ieration i need to insert text of t = 0 s likewise t = 0.0002 s, t = 0.0004 s, t = 0.0006s for f = 2, 3, 4 ans so on respectively..
Please help me with this..
  2 Comments
Turbulence Analysis
Turbulence Analysis on 14 May 2021
I did tried as follows, but text getting overlapped on each image !!
for g = 0:0.00002:0.04
text(25,-35,['t= ',sprintf('%d',g)])
end

Sign in to comment.

Accepted Answer

Rik
Rik on 14 May 2021
Edited: Rik on 14 May 2021
Instead of recreating graphics object every iteration of your loop, it is often faster to create the object once and then update the properties:
text_handle=text(25,-35,'');
for g = 0:0.00002:0.04
text_handle.String=sprintf('t= %.5f',g);
drawnow % force graphics update
end
  3 Comments
Rik
Rik on 14 May 2021
Edited: Rik on 14 May 2021
Ah, yes, sorry. I had at first set it print a 0 that way when initializing the object. I'll edit my answer. (you'll also have to change the FormatSpec to print the actual values, instead of telling Matlab to treat your values as integers)
Did this solve your question? If so, please consider marking it as accepted answer. If not, feel free to post a comment with your remaining issues.
Turbulence Analysis
Turbulence Analysis on 15 May 2021
Yes.. I have sorted the issue..
I am using as follows, now its better
t = 0.0002 * (i);
text(5,-35,[sprintf('t = %g s', t)],'FontSize',18,'Color','b','Interpreter','latex');

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Performance in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!