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

1 次查看(过去 30 天)
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

采纳的回答

Jason
Jason 2020-2-13
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Object Properties 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by