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)

Categories

Find more on Graphics Object Properties 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!