M2014b+ graphics, changing legend orientation ex post
2 次查看(过去 30 天)
显示 更早的评论
Under new Matlab graphics, changing the legend orientation does not work well if the legend was created with all 4 output arguments, i.e. [LEGH,OBJH,OUTH,OUTM] = legend(...). On the other hand, the behavior seems to be fine when the legend was created using only LEGH = legend(...). Specifically I have encountered the problem that the legend shape gets adjusted but the legend contents stay according to the original legend orientation which makes my figures look unacceptable.
%%Works properly
figure;
hold on;
p1=plot(1:10);
p2=plot(10:-1:1);
lghandle=legend([p1;p2],{'Line 1','Line 2'});
set(lghandle,'orientation','horizontal');
%%Does not work properly
figure;
hold on;
p1=plot(1:10);
p2=plot(10:-1:1);
[lghandle,l2,l3,l4]=legend([p1;p2],{'Line 1','Line 2'});
set(lghandle,'orientation','horizontal');
Is this a bug?
0 个评论
回答(1 个)
Adam
2016-10-26
Well, that help for that particular overload does state:
"Note: This syntax is not recommended. It creates a legend that does not support all graphics features. Instead, use the lgd = legend(__) syntax to return the legend object and set Legend Properties."
so I guess that would explain any odd behaviour.
3 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Legend 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!