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

17 次查看(过去 30 天)
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{:});

请先登录,再进行评论。

更多回答(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'));

类别

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