Convertting Text on a plot To a legend (or manually position them) - but using handles

2 views (last 30 days)
Hello.
I have a plot that I have added text to as below.
I am wanting to have as an option, the ability to reposition these text objects to e.g. the top left (or even as a legend).
I have tried this:
htext=findobj(app.UIAxes,'Type','text') % Get text objects
n=numel(htext) % Get number of them
htext2=htext; % get a duplicate so can delete the ones on the plot
delete(htext) % Delete the ones on the plot
for i=1:n %Try to reposition
h=htext2(i)
h.Position=[0.02 60000]
end
So Im getting Invalid or deleted object.
Also, surely ther eis an easier way if I have the handles of all the text objects to e.g. convert ovr to a legend?
Thanks
Jason

Accepted Answer

Jason
Jason on 13 Feb 2020
Done it.
htext=findobj(app.UIAxes,'Type','text');
n=numel(htext);
htext(1).Position
mxy=max(ylim(app.UIAxes))
for i=1:n
h=htext(i)
h.Position=[320 (1-i*0.05)*mxy 0]
h.FontSize=14
end

More Answers (0)

Community Treasure Hunt

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

Start Hunting!