1) Domyślnie właściwość legendy o nazwie Tag
to "Legenda". Oczywiście nie ma obietnicy, że się nie zmieni.
get(l)
....
BusyAction: 'queue'
HandleVisibility: 'on'
HitTest: 'on'
Interruptible: 'off'
Selected: 'off'
SelectionHighlight: 'on'
**Tag: 'legend'**
Type: 'axes'
UIContextMenu: 200.0018
UserData: [1x1 struct]
....
2) Inna różnica (która jest bardziej wytrzymała) jest to, że regularne osie nie mają String
nieruchomość, ale legendy zrobić. Nie jestem pewien, czy istnieją inne typy obiektów, które również mają właściwość String
. Na przykład:
plot(magic(3));legend('a','v','b');
allAxesInFigure = findall(f,'type','axes')
b = isprop(allAxesInFigure,'String')
Można go zweryfikować dzwoniąc:
get (GCA, 'String')
??? Błąd przy użyciu ==> get
Nie ma właściwości "String" w klasie "osi".
Ale z drugiej strony, dla legendy tam jest taka nieruchomość. Dlatego jest bardziej wytrzymały.
plot(magic(3)); l = legend('a','b','c');
get(l,'String')
ans = 'A' 'B' 'C'
3) będę zalecane rozwiązanie to w szerokim zakresie. Po prostu śledź tworzone legendy i osie, przechowując ich uchwyty. Oznacza to, że zamiast kodowania jak:
plot(magic(3));
legend('a','v','b');
plot(magic(5));
legend('a','v','b','c','d');
kod tak:
p(1) = plot(magic(3));
l(1) = legend('a','v','b');
p(2) = plot(magic(5));
l(2) = legend('a','v','b','c','d');
Należy również zwrócić uwagę na osie 'colorbar'. – Nzbuu