Insert text to the image in for loop

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

Read about text.
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

It just inserts t = 0 on each image, I guess it supposed to be like this ??
text_handle=text(25,-35,'');
for g = 0:0.00002:0.04
text_handle.String=sprintf('t= %d',g);
drawnow % force graphics update
end
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.
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

Community Treasure Hunt

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

Start Hunting!