Updating textbox with variable
25 views (last 30 days)
Show older comments
So i have plot that i want to connect a textbox to, so the textbox counts how many steps the person has done. The plot is a live, updating plot and i need the textbox to do the same. The format im after is "Steps: (no. steps)" which will be adding one each time. Here is the code im currently using although it doesnt work.
while (toc<30) %Loop when Plot is Active will run until plot is closed
vx=readVoltage(a,'A0');
vy=readVoltage(a,'A1');
.........
steps = stepleftacc + steprightacc
set(plotGraph,'XData',time,'YData',data);
axis([0 time(count) -90 90]);
pause(delay);
annotation('textbox',[0.75, 0.1, 0.1, 0.1],'string', "steps:" + steps)
This gives a textbox however the changing variable 'steps' seems to rewrite over itself, any solutions ot fix this?
Thanks
0 Comments
Answers (1)
Geoff Hayes
on 1 May 2020
George - if you want to just update the existing annotation (rather than creating a new one on each iteration of the while loop) then you need to store the handle to the annotation and then use it for the update. For example,
hAnnotation = annotation('textbox',[0.75, 0.1, 0.1, 0.1],'string', "");
hold on;
while (toc<30) %Loop when Plot is Active will run until plot is closed
vx=readVoltage(a,'A0');
vy=readVoltage(a,'A1');
%.........
steps = stepleftacc + steprightacc
set(plotGraph,'XData',time,'YData',data);
axis([0 time(count) -90 90]);
pause(delay);
set(hAnnotation, 'String', "steps:" + steps);
% etc.
end
We create the annotaiton object outside of the loop and then update it on each iteration.
0 Comments
See Also
Categories
Find more on Title in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!