Aggiunta di una legenda al grafico
Le legende sono un modo utile per etichettare le serie di dati tracciate su un grafico. Questi esempi mostrano come creare una legenda e apportare alcune modifiche di uso comune, come la modifica della posizione, l'impostazione della dimensione del carattere e l'aggiunta di un titolo. È inoltre possibile creare una legenda con più colonne o creare una legenda per un sottoinsieme di dati tracciati.
Creazione di una legenda semplice
Creare una figura con un grafico a linee e un grafico a dispersione. Aggiungere una legenda con una descrizione per ciascun grafico. Specificare le etichette della legenda come input della funzione legend
.
figure x1 = linspace(0,5); y1 = sin(x1/2); plot(x1,y1) hold on x2 = [0 1 2 3 4 5]; y2 = [0.2 0.3 0.6 1 0.7 0.6]; scatter(x2,y2,'filled') hold off legend('sin(x/2)','2016')
Definizione delle etichette tramite DisplayName
In alternativa, è possibile specificare le etichette della legenda utilizzando la proprietà DisplayName
. Impostare la proprietà DisplayName
come coppia nome-valore quando si chiamano le funzioni di plottaggio. Quindi, chiamare il comando legend
per creare la legenda.
x1 = linspace(0,5); y1 = sin(x1/2); plot(x1,y1,'DisplayName','sin(x/2)') hold on x2 = [0 1 2 3 4 5]; y2 = [0.2 0.3 0.6 1 0.7 0.6]; scatter(x2,y2,'filled','DisplayName','2016') legend
Le legende si aggiornano automaticamente quando si aggiungono o si rimuovono serie di dati. Se si aggiungono ulteriori dati agli assi, utilizzare la proprietà DisplayName
per specificare le etichette. Se non si imposta la proprietà DisplayName
, la legenda utilizza un'etichetta con la forma 'dataN'
.
Aggiungere un grafico a dispersione per i dati del 2017.
x3 = [0 1 2 3 4 5]; y3 = [0.1 0.4 0.6 0.9 0.8 0.7]; scatter(x3,y3,'filled','DisplayName','2017') drawnow hold off
Personalizzazione dell'aspetto della legenda
La funzione legend
crea un oggetto Legend
. Gli oggetti egend
presentano delle proprietà che possono essere utilizzate per personalizzare l'aspetto della legenda, come le proprietà Location
, Orientation
, FontSize
e Title
. Per un elenco completo, vedere Legend Properties.
Le proprietà possono essere impostate in due modi:
Utilizzando le coppie nome-valore nel comando
legend
. Nella maggior parte dei casi, quando si utilizzano le coppie nome-valore, è necessario specificare le etichette in un array di celle, comelegend({'label1','label2'},'FontSize',14)
.Utilizzando l'oggetto
Legend
. È possibile restituire l'oggettoLegend
come argomento di output della funzionelegend
, comelgd = legend
. Quindi, utilizzarelgd
con la notazione a punti per impostare le proprietà, comelgd.FontSize = 14
.
Posizione e orientamento della legenda
Specificare la posizione e l'orientamento della legenda impostando le proprietà Location
e Orientation
come coppie nome-valore. Impostare la posizione su una delle otto direzioni cardinali o intercardinali, in questo caso 'northwest'
. Impostare l'orientamento su 'vertical'
(impostazione predefinita) o si 'horizontal'
, come in questo caso. Specificare le etichette in un array di celle.
x1 = linspace(0,5); y1 = sin(x1/2); plot(x1,y1) hold on x2 = [0 1 2 3 4 5]; y2 = [0.2 0.3 0.6 1 0.7 0.6]; scatter(x2,y2,'filled') hold off legend({'sin(x/2)','2016'},'Location','northwest','Orientation','horizontal')
Dimensione del carattere e titolo della legenda
Specificare la dimensione del carattere e il titolo della legenda impostando le proprietà FontSize
e Title
. Attribuire l’oggetto Legend
alla variabile lgd
. Quindi, utilizzare lgd
per modificare le proprietà utilizzando la notazione a punti.
x1 = linspace(0,5); y1 = sin(x1/2); plot(x1,y1,'DisplayName','sin(x/2)') hold on x2 = [0 1 2 3 4 5]; y2 = [0.2 0.3 0.6 1 0.7 0.6]; scatter(x2,y2,'filled','DisplayName','2016') hold off lgd = legend; lgd.FontSize = 14; lgd.Title.String = '2016 Data';
Legenda con più colonne
Creare un grafico con sei tracciati di linea. Aggiungere una legenda con due colonne impostando la proprietà NumColumns
su 2.
x = linspace(0,10); y1 = sin(x); y2 = sin(0.9*x); y3 = sin(0.8*x); y4 = sin(0.7*x); y5 = sin(0.6*x); y6 = sin(0.5*x); plot(x,y1,'DisplayName','sin(x)') hold on plot(x,y2,'DisplayName','sin(0.9x)') plot(x,y3,'DisplayName','sin(0.8x)') plot(x,y4,'DisplayName','sin(0.7x)') plot(x,y5,'DisplayName','sin(0.6x)') plot(x,y6,'DisplayName','sin(0.5x)') hold off lgd = legend; lgd.NumColumns = 2;
Aggiunta di un sottoinsieme di grafici nella legenda
Abbinare due grafici a barre e un grafico a dispersione. Creare una legenda che includa solo i grafici a barre specificando gli oggetti Bar
, b1
e b2
come primo argomento di input della funzione legend
. Specificare gli oggetti in un vettore.
x = [1 2 3 4 5]; y1 = [.2 .4 .6 .4 .2]; b1 = bar(x,y1); hold on y2 = [.1 .3 .5 .3 .1]; b2 = bar(x,y2,'BarWidth',0.5); y3 = [.2 .4 .6 .4 .2]; s = scatter(x,y3,'filled'); hold off legend([b1 b2],'Bar Chart 1','Bar Chart 2')