Ecco come ho risolto questo problema in passato:
figure
t=linspace(0,10,100);
plot(t,sin(t));
hold on;
h = zeros(3, 1);
h(1) = plot(NaN,NaN,'or');
h(2) = plot(NaN,NaN,'ob');
h(3) = plot(NaN,NaN,'ok');
legend(h, 'red','blue','black');
Ciò tracciare i punti aggiuntivi, ma perché le coordinate sono a NaN
non saranno visibili sulla stessa trama:
EDIT 26/10/2016: miei risultati risposta originali voci di legenda in grigio in 2016b.Il codice aggiornato sopra funziona, ma la risposta che segue è rilevante solo pre-2016b:
figure
t=linspace(0,10,100);
plot(t,sin(t));
hold on;
h = zeros(3, 1);
h(1) = plot(0,0,'or', 'visible', 'off');
h(2) = plot(0,0,'ob', 'visible', 'off');
h(3) = plot(0,0,'ok', 'visible', 'off');
legend(h, 'red','blue','black');
Ciò tracciare i punti aggiuntivi, ma non sarà visibile sulla trama stessa.
È inoltre possibile utilizzare copyobj
per copiare elementi grafici da una figura all'altra se si dispone di un sacco di elementi, quindi utilizzare set(x, 'visible', 'off')
di nasconderli prima di mostrare la leggenda, ma dipende da ciò che la vostra applicazione finale.
questo è un semplice esempio di una cosa più grande che ho quindi quello che suggerisci non è rilevante, ci deve essere un modo per farlo – jarhead
Quindi non è chiaro cosa si vuole raggiungere. Potete fornire maggiori informazioni? Perché hai bisogno della legenda se non ci sono dati correlati nella trama. – NKN
quello che voglio ottenere è esattamente ciò che ho scritto, usare la scatola con la legenda della prima figura e visualizzarla sulla seconda – jarhead