Filter löschen
Filter löschen

M2014b+ graphics, changing legend orientation ex post

1 Ansicht (letzte 30 Tage)
Jakub Rysanek
Jakub Rysanek am 26 Okt. 2016
Kommentiert: Jakub Rysanek am 26 Okt. 2016
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?

Antworten (1)

Adam
Adam am 26 Okt. 2016
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 Kommentare
Adam
Adam am 26 Okt. 2016
Bearbeitet: Adam am 26 Okt. 2016
I haven't really used legend, but I assume now that it is a graphics object in its own right that the one returned argument, 'lgd' is a legend object which you can interrogate to get various properties out of so I assume these would be included in there.
Jakub Rysanek
Jakub Rysanek am 26 Okt. 2016
...the 'itemText' property which used to work in earlier versions is now empty and the usual sniffing point, the 'children' property, does not contain any information either. I am working with a simple line plot()

Melden Sie sich an, um zu kommentieren.

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by