Main Content

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

legend

Aggiungere la legenda agli assi

Descrizione

esempio

legend crea una legenda con etichette descrittive per ciascuna serie di dati tracciata. Per le etichette, la legenda utilizza il testo delle proprietà DisplayName delle serie di dati. Se la proprietà DisplayName è vuota, la legenda utilizza un'etichetta di formato 'dataN'. La legenda si aggiorna automaticamente quando si aggiungono o rimuovono serie di dati dagli assi. Questo comando crea una legenda negli assi correnti che viene restituita dal comando gca. Se gli assi correnti sono vuoti, la legenda è vuota. Se non esistono assi, legend crea degli assi cartesiani.

esempio

legend(label1,...,labelN) imposta le etichette della legenda. Specificare le etichette come un elenco di vettori di caratteri o di stringhe, come legend('Jan','Feb','Mar').

legend(labels) imposta le etichette utilizzando un array di celle di vettori di caratteri, un array di stringhe o una matrice di caratteri, come legend({'Jan','Feb','Mar'}).

esempio

legend(subset,___) include solo gli elementi nella legenda per le serie di dati elencate in subset. Specificare subset come un vettore come vettore di oggetti grafici. È possibile specificare subset prima di specificare le etichette o senza altri argomenti di input.

esempio

legend(target,___) utilizza gli assi o la visualizzazione standalone specificata da target anziché gli assi correnti. Specificare la destinazione come primo argomento di input.

esempio

legend(___,'Location',lcn) imposta la posizione della legenda. Ad esempio, 'Location','northeast' posiziona la legenda nell'angolo superiore destro degli assi. Specificare la posizione dopo gli altri argomenti di input.

esempio

legend(___,'Orientation',ornt), dove ornt è 'horizontal', visualizza gli elementi della legenda affiancati. L'impostazione predefinita per ornt è 'vertical', che impila gli elementi in verticale.

esempio

legend(___,Name,Value) imposta le proprietà della leggenda utilizzando uno o più argomenti della coppia nome-valore.

esempio

legend(bkgd), dove bkgd è 'boxoff', rimuove lo sfondo e il contorno della legenda. L'impostazione predefinita per bkgd è 'boxon', che visualizza lo sfondo e il contorno della legenda.

lgd = legend(___) restituisce l'oggetto Legend. Utilizzare lgd per eseguire una query e impostare le proprietà della legenda dopo averla creata. Per un elenco delle proprietà, vedere Legend Properties.

legend(vsbl) controlla la visibilità della legenda, dove vsbl è 'hide', 'show' o 'toggle'.

legend('off') cancella la legenda.

Esempi

comprimi tutto

Tracciare due linee e aggiungere una legenda agli assi correnti. Specificare le etichette della legenda come argomenti di input della funzione legend.

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on 
y2 = cos(2*x);
plot(x,y2)

legend('cos(x)','cos(2x)')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent cos(x), cos(2x).

Se si aggiunge o si elimina una serie di dati dagli assi, la legenda si aggiorna conseguentemente. Controllare l'etichetta della nuova serie di dati impostando la proprietà DisplayName come coppia nome-valore durante la creazione. Se non si specifica un'etichetta, la legenda utilizza un'etichetta di formato 'dataN'.

Nota: Se non si desidera che la legenda si aggiorni automaticamente quando le serie di dati vengono aggiunte o rimosse dagli assi, impostare la proprietà AutoUpdate della legenda su 'off'.

y3 = cos(3*x);
plot(x,y3,'DisplayName','cos(3x)')
hold off

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent cos(x), cos(2x), cos(3x).

Cancellare la legenda.

legend('off')

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent cos(x), cos(2x), cos(3x).

A partire dalla release R2019b, è possibile visualizzare la disposizione a piastrelle dei grafici utilizzando le funzioni tiledlayout e nexttile. Chiamare la funzione tiledlayout per creare il layout a piastrelle di un grafico 2x1. Chiamare la funzione nexttile per creare gli oggetti assi ax1 e ax2. Tracciare dati casuali in ciascun asse. Aggiungere una legenda al grafico superiore specificando ax1 come primo argomento di input di legend.

tiledlayout(2,1)
y1 = rand(3);
ax1 = nexttile; 
plot(y1)

y2 = rand(5);
ax2 = nexttile; 
plot(y2)

legend(ax1,{'Line 1','Line 2','Line 3'})

Figure contains 2 axes objects. Axes object 1 contains 3 objects of type line. These objects represent Line 1, Line 2, Line 3. Axes object 2 contains 5 objects of type line.

Tracciare due linee. Specificare le etichette della legenda durante i comandi di plottaggio impostando la proprietà DisplayName sul testo desiderato. Quindi, aggiungere una legenda.

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1,'DisplayName','cos(x)')

hold on 
y2 = cos(2*x);
plot(x,y2,'DisplayName','cos(2x)')
hold off

legend

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent cos(x), cos(2x).

Per escludere una linea dalla legenda, specificare la relativa etichetta come vettore di caratteri vuoto o stringa vuota. Ad esempio, tracciare due onde sinusoidali e aggiungere una linea di zero tratteggiata chiamando la funzione yline. Creare quindi una legenda ed escludere la linea di zero specificando la relativa etichetta come ''.

x = 0:0.2:10;
plot(x,sin(x),x,sin(x+1));
hold on
yline(0,'--')
legend('sin(x)','sin(x+1)','')

Figure contains an axes object. The axes object contains 3 objects of type line, constantline. These objects represent sin(x), sin(x+1).

Tracciare quattro linee. Creare una legenda nell'area nord-ovest degli assi. Specificare il numero di colonne della legenda utilizzando la proprietà NumColumns.

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on
y2 = cos(2*x);
plot(x,y2)

y3 = cos(3*x);
plot(x,y3)

y4 = cos(4*x);
plot(x,y4)
hold off

legend({'cos(x)','cos(2x)','cos(3x)','cos(4x)'},...
    'Location','northwest','NumColumns',2)

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent cos(x), cos(2x), cos(3x), cos(4x).

Per impostazione predefinita, la legenda ordina gli elementi dall'alto verso il basso lungo ciascuna colonna. Per ordinare invece gli elementi da sinistra a destra lungo ciascuna riga, impostare la proprietà Orientation su 'horizontal'.

Da R2023b

È possibile invertire l'ordine degli elementi della legenda impostando la proprietà Direction della legenda. Ad esempio, tracciare quattro linee e aggiungere una legenda.

plot([4 5 6 7; 0 1 2 3])
lgd = legend("First","Second","Third","Fourth");

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent First, Second, Third, Fourth.

Inverte l'ordine degli elementi della legenda.

lgd.Direction = "reverse";

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent First, Second, Third, Fourth.

Quando si desidera condividere una legenda tra due o più grafici, è possibile visualizzare la legenda in una piastrella separata del layout. È possibile posizionare la legenda all'interno della griglia di piastrelle o in una piastrella esterna.

Creare tre grafici con un layout di grafico a piastrelle.

t = tiledlayout('flow','TileSpacing','compact');
nexttile
plot(rand(5))
nexttile
plot(rand(5))
nexttile
plot(rand(5))

Figure contains 3 axes objects. Axes object 1 contains 5 objects of type line. Axes object 2 contains 5 objects of type line. Axes object 3 contains 5 objects of type line.

Aggiungere una legenda condivisa e spostarla sulla quarta piastrella.

lgd = legend;
lgd.Layout.Tile = 4;

Figure contains 3 axes objects. Axes object 1 contains 5 objects of type line. Axes object 2 contains 5 objects of type line. Axes object 3 contains 5 objects of type line.

Quindi, aggiungere un quarto grafico e spostare la legenda sulla piastrella che si trova a est.

nexttile
plot(rand(5))
lgd.Layout.Tile = 'east';

Figure contains 4 axes objects. Axes object 1 contains 5 objects of type line. Axes object 2 contains 5 objects of type line. Axes object 3 contains 5 objects of type line. Axes object 4 contains 5 objects of type line.

Se non si desidera includere nella legenda tutti gli oggetti grafici tracciati, è possibile specificare quali oggetti grafici si desidera includere.

Tracciare tre linee e restituire gli oggetti Line creati. Creare una legenda che includa solo due delle linee. Specificare il primo argomento di input come un vettore di oggetti Line da includere.

x = linspace(0,pi);
y1 = cos(x);
p1 = plot(x,y1);

hold on
y2 = cos(2*x);
p2 = plot(x,y2);

y3 = cos(3*x);
p3 = plot(x,y3);
hold off

legend([p1 p3],{'First','Third'})

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent First, Third.

Creare un grafico e aggiungere una legenda con markup LaTeX chiamando la funzione legend e impostando la proprietà Interpreter su 'latex'. Circondare il markup con i segni del dollaro ($).

x = 0:0.1:10;
y = sin(x);
dy = cos(x);
plot(x,y,x,dy);
legend('$sin(x)$','$\frac{d}{dx}sin(x)$','Interpreter','latex');

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent $sin(x)$, $\frac{d}{dx}sin(x)$.

Tracciare due linee e creare una legenda. Quindi, aggiungere un titolo alla legenda.

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on
y2 = cos(2*x);
plot(x,y2)
hold off

lgd = legend('cos(x)','cos(2x)');
title(lgd,'My Legend Title')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent cos(x), cos(2x).

Tracciare due linee e creare una legenda nell'angolo inferiore sinistro degli assi. Quindi, rimuovere lo sfondo e il contorno della legenda.

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on
y2 = cos(2*x);
plot(x,y2)
hold off

legend({'cos(x)','cos(2x)'},'Location','southwest')
legend('boxoff')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent cos(x), cos(2x).

È possibile modificare diversi aspetti di una legenda impostando le proprietà. È possibile impostare le proprietà specificando gli argomenti nome-valore quando si chiama legend oppure è possibile impostare le proprietà dell'oggetto Legend dopo aver chiamato legend.

Tracciare quattro linee di dati casuali. Creare una legenda e assegnare l'oggetto Legend alla variabile lgd. Impostare le proprietà FontSize e TextColor utilizzando gli argomenti nome-valore.

rdm = rand(4);
plot(rdm)

lgd = legend({'Line 1','Line 2','Line 3','Line 4'},...
    'FontSize',12,'TextColor','blue');

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent Line 1, Line 2, Line 3, Line 4.

Modificare la legenda dopo averla creata facendo riferimento a lgd. Impostare la proprietà NumColumns utilizzando la notazione del nome della proprietà a punti dell'oggetto.

lgd.NumColumns = 2;

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent Line 1, Line 2, Line 3, Line 4.

Argomenti di input

comprimi tutto

Etichette, specificate come elenco separato da virgole di vettori di caratteri o stringhe.

Per escludere un elemento dalla legenda, specificare l'etichetta corrispondente come vettore di caratteri vuoto o stringa vuota.

Per includere caratteri speciali o lettere greche nelle etichette, utilizzare il markup TeX o LaTeX. Per una tabella delle opzioni, vedere la proprietà Interpreter.

Per specificare etichette che sono parole chiave, come 'Location' o 'off', utilizzare un array di celle di vettori di caratteri, un array di stringhe o un array di caratteri.

Esempio legend('Sin Function','Cos Function')

Esempio legend("Sin Function","Cos Function")

Esempio legend("Sample A","","Sample C")

Esempio legend('\gamma','\sigma')

Etichette, specificate come array di celle di vettori di caratteri, array di stringhe o array categorico.

Per escludere un elemento dalla legenda, specificare l'etichetta corrispondente come vettore di caratteri vuoto nell'array di celle o come stringa vuota nell'array di stringhe.

Per includere caratteri speciali o lettere greche nelle etichette, utilizzare il markup TeX o LaTeX. Per una tabella delle opzioni, vedere la proprietà Interpreter.

Esempio legend({'Sin Function','Cos Function'})

Esempio legend(["Sin Function","Cos Function"])

Esempio legend({'Sample A','','Sample C'})

Esempio legend({'\gamma','\sigma'})

Esempio legend(categorical({'Alabama','New York'}))

Serie di dati da includere nella legenda, specificata come vettore di oggetti grafici.

Destinazione per la legenda, specificata come oggetto Axes, oggetto PolarAxes, oggetto GeographicAxes o visualizzazione standalone con una proprietà LegendVisible, come oggetto GeographicBubbleChart. Se non si specifica la destinazione, la funzione legend utilizza l'oggetto restituito dal comando gca come destinazione.

Le visualizzazioni standalone non supportano la modifica dell'aspetto della legenda, come ad esempio la posizione, o la restituzione dell'oggetto Legend come argomento di output.

Posizione della legenda rispetto agli assi, specificata come uno dei valori di posizione elencati in questa tabella.

ValoreDescrizione
'north'Interno superiore degli assi
'south'Interno inferiore degli assi
'east'Interno destro degli assi
'west'Interno sinistro degli assi
'northeast'In alto a destra all'interno degli assi (predefinita per gli assi bidimensionali)
'northwest'In alto a sinistra all'interno degli assi
'southeast'In basso a destra all'interno degli assi
'southwest'In basso a sinistra all'interno degli assi
'northoutside'Sopra agli assi
'southoutside'Sotto gli assi
'eastoutside'A destra degli assi
'westoutside'A sinistra degli assi
'northeastoutside'All'esterno dell'angolo superiore destro degli assi (predefinito per gli assi tridimensionali)
'northwestoutside'All'esterno dell'angolo superiore sinistro degli assi
'southeastoutside'All'esterno dell'angolo inferiore destro degli assi
'southwestoutside'All'esterno dell'angolo inferiore sinistro degli assi
'best'All'interno degli assi, dove si verifica il minimo conflitto con i dati del grafico al momento della creazione della legenda. Se i dati del grafico cambiano, potrebbe essere necessario reimpostare la posizione su 'best'.
'bestoutside'All'esterno dell'angolo superiore destro degli assi (quando la legenda ha un orientamento verticale) o sotto gli assi (quando la legenda ha un orientamento orizzontale)
'layout'Una piastrella in un layout di grafico a piastrelle. Per spostare la legenda su una piastrella diversa, impostare la proprietà Layout della legenda.
'none'Determinata dalla proprietà Position. Utilizzare la proprietà Position per visualizzare la legenda in una posizione personalizzata.

Esempio legend('Location','northeastoutside')

Orientamento, specificato come uno dei seguenti valori:

  • 'vertical': impila gli elementi della legenda verticalmente.

  • 'horizontal': elenca gli elementi della legenda affiancati.

Esempio legend('Orientation','horizontal')

Visualizzazione del riquadro della legenda, specificata come uno dei seguenti valori:

  • 'boxon': visualizza lo sfondo e il contorno della legenda.

  • 'boxoff': non visualizza lo sfondo e il contorno della legenda.

Esempio legend('boxoff')

Visibilità della legenda, specificata come uno dei seguenti valori:

  • 'hide': nasconde la legenda.

  • 'show': mostra la legenda o ne crea una se non è presente.

  • 'toggle': alterna la visibilità della legenda.

Esempio legend('hide')

Argomenti nome-valore

Specificare coppie opzionali di argomenti come Name1=Value1,...,NameN=ValueN, dove Name è il nome dell’argomento e Value è il valore corrispondente. Gli argomenti nome-valore devono comparire dopo gli altri argomenti, mentre l'ordine delle coppie non è rilevante.

Per le release antecedenti alla R2021a, utilizzare le virgole per separare ciascun nome e valore e includere Name tra virgolette.

Esempio legend({'A','B'},'TextColor','blue','FontSize',12) crea una legenda con carattere blu a 12 punti.

Nota

Le proprietà qui elencate sono solo un sottoinsieme. Per un elenco completo, vedere Legend Properties.

Colore del testo, specificato come tripletta RGB, codice di colore esadecimale, nome del colore o nome abbreviato. Il colore predefinito è il nero con un valore di [0 0 0].

Per un colore personalizzato, specificare una tripletta RGB o un codice di colore esadecimale.

  • Una tripletta RGB è un vettore riga a tre elementi i cui elementi specificano le intensità dei componenti rosso, verde e blu del colore. Le intensità devono essere comprese nell'intervallo [0,1], ad esempio, [0.4 0.6 0.7].

  • Un codice di colore esadecimale è uno scalare di stringa o un vettore di caratteri che inizia con un simbolo cancelletto (#) seguito da tre o sei cifre esadecimali che possono andare da 0 a F. I valori non differenziano tra maiuscole e minuscole. Pertanto, i codici di colore "#FF8800", "#ff8800", "#F80" e "#f80" sono equivalenti.

In alternativa, è possibile specificare alcuni colori comuni per nome. Questa tabella elenca le opzioni di colore denominate, le terzine RGB equivalenti e i codici colore esadecimali.

Nome del coloreNome abbreviatoTripletta RGBCodice di colore esadecimaleAspetto
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"Non applicabileNon applicabileNon applicabileNessun colore

Si riportano di seguito le triplette RGB e i codici di colore esadecimale per i colori predefiniti che MATLAB® utilizza in molti tipi di grafici.

Tripletta RGBCodice di colore esadecimaleAspetto
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Esempio [0 0 1]

Esempio 'blue'

Esempio '#0000FF'

Grandezza del carattere, specificata come valore scalare maggiore di zero in unità di punto. La grandezza predefinita dei caratteri dipende dal sistema operativo e dal paese specifico.

Se si modifica la grandezza dei caratteri degli assi, MATLAB imposta automaticamente la grandezza dei caratteri della barra dei colori al 90% della grandezza dei caratteri degli assi. Se si imposta manualmente la grandezza del carattere della barra dei colori, la modifica della grandezza del carattere degli assi non influisce sulla grandezza del carattere della barra dei colori.

Numero di colonne, specificato come intero positivo. Se non sono presenti abbastanza elementi di legenda per riempire il numero di colonne specificato, il numero di colonne visualizzate potrebbe essere inferiore.

Utilizzare la proprietà Orientation per controllare se gli elementi della legenda appaiono in ordine lungo ciascuna colonna o lungo ciascuna riga.

Esempio lgd.NumColumns = 3

Argomenti di output

comprimi tutto

Oggetto Legend. Utilizzare lgd per visualizzare o modificare le proprietà della legenda dopo averla creata.

plot(rand(3))
lgd = legend('line1','line2','line3');
lgd.FontSize = 12;
lgd.FontWeight = 'bold';

Suggerimenti

  • Per etichettare più di 50 oggetti nella legenda, specificare un'etichetta per ciascun oggetto. In caso contrario, legend raffigura solo i primi 50 oggetti del grafico.

Algoritmi

  • Il richiamo della funzione legend non ripristina le proprietà della legenda, come la posizione o l'orientamento. Se una legenda è presente, la funzione legend aggiorna la legenda esistente. Un oggetto Axes può avere solo una legenda.

  • La legenda riflette la visibilità degli oggetti grafici negli assi. Gli oggetti grafici la cui proprietà Visible è impostata su 'off' appaiono come elementi disattivati nella legenda.

Cronologia versioni

Introduzione prima di R2006a

espandi tutto