Matlab 2014b: Copying just the legend from existing figure into subplot

조회 수: 26 (최근 30일)
Ashley Penna
Ashley Penna 2014년 11월 19일
편집: Matt J 2014년 11월 19일
Hi there,
I'm looking for how to get the legend from an existing saved figure and load it as the legend in a figure of subplots.
In 2013 I used to be able to do:
h1 = hgload('file.fig');
leg_ax = findobj(h1,'type','axes','Tag','legend','-not','Tag','Colorbar');
s6 = subplot(2,3,3);
copyobj(leg_ax,get(s6,'Parent'));
Thanks, Ashley

채택된 답변

Matt J
Matt J 2014년 11월 19일
편집: Matt J 2014년 11월 19일
One way is to save and reuse just the legend object itself, e.g.,
plot(1:5,2:6,1:5,0:4);
hleg=legend('First Line', 'Second Line');
save tst hleg
clear hleg
load tst hleg
figure;
s6 = subplot(2,3,3);
plot(10:10:50,(2:6).^2,10:10:50,(0:4).^2);
legend(hleg.String{:})
  댓글 수: 3
Matt J
Matt J 2014년 11월 19일
h1=hgload(...)
hleg=findobj(h1,'Type','Legend');
s6 = subplot(2,3,3);
legend(hleg.String{:});
Ashley Penna
Ashley Penna 2014년 11월 19일
Excellent, that worked! Thanks for your help, Matt.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Azzi Abdelmalek
Azzi Abdelmalek 2014년 11월 19일
h1 = hgload('file.fig');
leg_ax = findobj(h1,'type','axes','Tag','legend','-not','Tag','Colorbar');
figure
s6 = subplot(2,3,3);
copyobj(leg_ax,get(s6,'Parent'));
  댓글 수: 2
Ashley Penna
Ashley Penna 2014년 11월 19일
In 2013 the "leg_ax" line no longer works since a legend isn't an axes any longer.
Azzi Abdelmalek
Azzi Abdelmalek 2014년 11월 19일
The handles can not be used if the object is deleted

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Legend에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by