1) По умолчанию свойство Tag
легенды - «Легенда».Конечно, нет никаких обещаний, что это не изменилось.
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) Другое отличие (более надежное) состоит в том, что обычные оси не обладают свойством String
, но имеют легенды.Я не уверен, есть ли другие типы объектов, которые также имеют свойство String
.Например:
plot(magic(3));legend('a','v','b');
allAxesInFigure = findall(f,'type','axes')
b = isprop(allAxesInFigure,'String')
Вы можете проверить это, позвонив по телефону:
get (gca, 'String')
???Ошибка при использовании ==> get
В классе 'axes' нет свойства 'String'.
Но с другой стороны, для легенд есть такое свойство.Вот почему он более надежный.
plot(magic(3)); l = legend('a','b','c');
get(l,'String')
ans = 'a' 'b' 'c'
3) Я бы порекомендовал решить эту проблему вболее широкий контекст.Просто следите за легендами и осями, которые вы создаете, храня их ручки.То есть вместо того, чтобы кодировать как:
plot(magic(3));
legend('a','v','b');
plot(magic(5));
legend('a','v','b','c','d');
Код как этот:
p(1) = plot(magic(3));
l(1) = legend('a','v','b');
p(2) = plot(magic(5));
l(2) = legend('a','v','b','c','d');