1) Per impostazione predefinita la proprietà della legenda di Tag
è "Legenda". Certo, non c'è alcuna promessa che non è cambiato.
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) Un'altra differenza (che è più robusto) è che gli assi normali non hanno String
struttura, ma legende fare. Non sono sicuro se ci sono altri tipi di oggetti che hanno anche la proprietà String
. Per esempio:
plot(magic(3));legend('a','v','b');
allAxesInFigure = findall(f,'type','axes')
b = isprop(allAxesInFigure,'String')
È possibile verificarlo chiamando:
get (GCA, 'String')
??? Errore durante l'utilizzo di ==> get
Non esiste una proprietà 'String' nella classe 'axes'.
Ma d'altra parte, per le leggende là è come una proprietà. Questo è il motivo per cui è più robusto.
plot(magic(3)); l = legend('a','b','c');
get(l,'String')
ans = 'A' 'b' 'c'
3) mi sento di raccomandare a risolvere questo in un contesto più ampio. Tieni traccia delle leggende e degli assi creati memorizzando le loro maniglie. Cioè, invece di codificare come:
plot(magic(3));
legend('a','v','b');
plot(magic(5));
legend('a','v','b','c','d');
codice come questo:
p(1) = plot(magic(3));
l(1) = legend('a','v','b');
p(2) = plot(magic(5));
l(2) = legend('a','v','b','c','d');
Si noti inoltre che è necessario prestare attenzione con gli assi 'colorbar'. – Nzbuu