matplotlib.pyplot.figlegend #

matplotlib.pyplot. figlegend ( * args , ** kwargs ) [fonte] #

Metti una legenda sulla figura.

Firme di chiamata:

figlegend()
figlegend(handles, labels)
figlegend(handles=handles)
figlegend(labels)

Le firme di chiamata corrispondono ai seguenti diversi modi di utilizzare questo metodo:

1. Rilevamento automatico degli elementi da mostrare nella legenda

Gli elementi da aggiungere alla legenda vengono determinati automaticamente, quando non si passano argomenti extra.

In questo caso le etichette sono prese dall'artista. Puoi specificarli durante la creazione dell'artista o chiamando il set_label()metodo sull'artista:

ax.plot([1, 2, 3], label='Inline label')
fig.figlegend()

o:

line, = ax.plot([1, 2, 3])
line.set_label('Label via method')
fig.figlegend()

Linee specifiche possono essere escluse dalla selezione automatica dell'elemento della legenda definendo un'etichetta che inizia con un carattere di sottolineatura. Questa è l'impostazione predefinita per tutti gli artisti, quindi chiamando Figure.legendsenza argomenti e senza impostare le etichette manualmente non verrà disegnata alcuna legenda.

2. Elencando esplicitamente gli artisti e le etichette nella legenda

Per il pieno controllo di quali artisti hanno una voce di legenda, è possibile passare rispettivamente un iterabile di artisti leggendari seguito da un iterabile di etichette leggendarie:

fig.figlegend([line1, line2, line3], ['label1', 'label2', 'label3'])

3. Elencare esplicitamente gli artisti nella legenda

È simile a 2, ma le etichette sono prese dalle proprietà dell'etichetta dell'artista. Esempio:

line1, = ax1.plot([1, 2, 3], label='label1')
line2, = ax2.plot([1, 2, 3], label='label2')
fig.figlegend(handles=[line1, line2])

4. Etichettatura degli elementi della trama esistenti

Scoraggiato

Questa firma di chiamata è sconsigliata, perché la relazione tra gli elementi della trama e le etichette è solo implicita nel loro ordine e può essere facilmente confusa.

Per creare una legenda per tutti gli artisti su tutti gli assi, chiama questa funzione con un iterabile di stringhe, una per ogni elemento della legenda. Per esempio:

fig, (ax1, ax2) = plt.subplots(1, 2)
ax1.plot([1, 3, 5], color='blue')
ax2.plot([2, 4, 6], color='red')
fig.figlegend(['the blues', 'the reds'])
Parametri :
gestisce l' elenco di Artist, facoltativo

Un elenco di Artisti (linee, patch) da aggiungere alla legenda. Usalo insieme alle etichette , se hai bisogno del pieno controllo su quanto mostrato nella legenda e il meccanismo automatico sopra descritto non è sufficiente.

La lunghezza delle maniglie e delle etichette dovrebbe essere la stessa in questo caso. Se non lo sono, vengono troncati alla lunghezza minore.

etichette elenco di str, facoltativo

Una lista di etichette da mostrare accanto agli artisti. Usalo insieme alle maniglie , se hai bisogno di un controllo completo su quanto mostrato nella legenda e il meccanismo automatico sopra descritto non è sufficiente.

Resi :
Legend
Altri parametri :
loc str o coppia di float, default: rcParams["legend.loc"](default: 'best') ('best' per assi, 'upper right' per figure)

Il luogo della leggenda.

Le stringhe posizionano la legenda nell'angolo corrispondente degli assi/figura.'upper left', 'upper right', 'lower left', 'lower right'

Le stringhe posizionano la legenda al centro del bordo corrispondente degli assi/figura.'upper center', 'lower center', 'center left', 'center right'

La stringa 'center'posiziona la legenda al centro degli assi/figura.

La stringa 'best'colloca la legenda nella posizione, tra le nove posizioni finora definite, con la minima sovrapposizione con altri artisti disegnati. Questa opzione può essere piuttosto lenta per grafici con grandi quantità di dati; la tua velocità di tracciamento potrebbe trarre vantaggio dalla fornitura di una posizione specifica.

La posizione può anche essere una tupla di 2 elementi che fornisce le coordinate dell'angolo in basso a sinistra della legenda in coordinate degli assi (nel qual caso bbox_to_anchor verrà ignorato).

Per compatibilità con le versioni precedenti, (ma nessun'altra posizione) può anche essere digitato e ogni posizione "stringa" può anche essere fornita come valore numerico:'center right''right'

Stringa di posizione

Codice Località

'migliore'

0

'In alto a destra'

1

'superiore sinistro'

2

'in basso a sinistra'

3

'in basso a destra'

4

'Giusto'

5

'centrosinistra'

6

'centrodestra'

7

'centro inferiore'

8

'centro superiore'

9

'centro'

10

bbox_to_anchor BboxBase, 2 tuple o 4 tuple di float

Riquadro utilizzato per posizionare la legenda insieme a loc . Il valore predefinito axes.bboxè (se chiamato come metodo a Axes.legend) o figure.bbox(if Figure.legend). Questo argomento consente il posizionamento arbitrario della legenda.

Le coordinate di Bbox vengono interpretate nel sistema di coordinate fornito da bbox_transform , con le coordinate di trasformazione predefinite Axes o Figure, a seconda di quale legendviene chiamato.

Se viene fornito un 4-tuple o BboxBase, specifica la bbox in cui è posizionata la legenda. Per posizionare la legenda nella posizione migliore nel quadrante in basso a destra degli assi (o figura):(x, y, width, height)

loc='best', bbox_to_anchor=(0.5, 0., 0.5, 0.5)

Una tupla di 2 elementi posiziona l'angolo della legenda specificata da loc in x, y. Ad esempio, per posizionare l'angolo in alto a destra della legenda al centro degli assi (o della figura) si possono utilizzare le seguenti parole chiave:(x, y)

loc='upper right', bbox_to_anchor=(0.5, 0.5)
ncols int, predefinito: 1

Il numero di colonne della legenda.

Per compatibilità con le versioni precedenti, anche l'ortografia ncol è supportata ma è sconsigliata. Se vengono forniti entrambi, ncols ha la precedenza.

prop Nessuno o matplotlib.font_manager.FontPropertieso dict

Le proprietà del carattere della legenda. Se None (impostazione predefinita), matplotlib.rcParamsverrà utilizzata la corrente.

fontsize int o {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}

La dimensione del carattere della legenda. Se il valore è numerico, la dimensione sarà la dimensione assoluta del carattere in punti. I valori stringa sono relativi alla dimensione del carattere predefinita corrente. Questo argomento viene utilizzato solo se prop non è specificato.

labelcolor str o lista, predefinito: rcParams["legend.labelcolor"](predefinito: 'None')

Il colore del testo nella legenda. Una stringa di colore valida (ad esempio, "rosso") o un elenco di stringhe di colore. Il labelcolor può anche essere fatto in modo che corrisponda al colore della linea o del marker utilizzando 'linecolor', 'markerfacecolor' (o 'mfc') o 'markeredgecolor' (o 'mec').

Labelcolor può essere impostato globalmente usando rcParams["legend.labelcolor"](default: 'None'). Se Nessuno, usa rcParams["text.color"](predefinito: 'black').

numpoints int, predefinito: rcParams["legend.numpoints"](predefinito: 1)

Il numero di punti indicatore nella legenda durante la creazione di una voce della legenda per una Line2D(linea).

punti di dispersione int, predefinito: rcParams["legend.scatterpoints"](predefinito: 1)

Il numero di punti indicatore nella legenda durante la creazione di una voce della legenda per un PathCollection(grafico a dispersione).

scatteryoffsets iterabile di float, default:[0.375, 0.5, 0.3125]

L'offset verticale (relativo alla dimensione del carattere) per i marcatori creati per una voce della legenda del grafico a dispersione. 0.0 è alla base del testo della legenda e 1.0 è in cima. Per disegnare tutti i marcatori alla stessa altezza, impostare su [0.5].

markerscale float, predefinito: rcParams["legend.markerscale"](predefinito: 1.0)

La dimensione relativa degli indicatori della legenda rispetto a quelli originariamente disegnati.

markerfirst bool, predefinito: vero

Se True , l'indicatore della legenda viene posizionato a sinistra dell'etichetta della legenda. Se False , l'indicatore della legenda viene posizionato a destra dell'etichetta della legenda.

frameon bool, predefinito: rcParams["legend.frameon"](predefinito: True)

Se la legenda deve essere disegnata su una patch (frame).

fancybox bool, predefinito: rcParams["legend.fancybox"](predefinito: True)

Se i bordi arrotondati debbano essere abilitati intorno a FancyBboxPatchciò che costituisce lo sfondo della legenda.

shadow bool, predefinito: rcParams["legend.shadow"](predefinito: False)

Se disegnare un'ombra dietro la leggenda.

framealpha float, predefinito: rcParams["legend.framealpha"](predefinito: 0.8)

La trasparenza alfa dello sfondo della legenda. Se shadow è attivato e framealpha è None, il valore predefinito viene ignorato.

facecolor "inherit" o colore, predefinito: rcParams["legend.facecolor"](predefinito: 'inherit')

Il colore di sfondo della legenda. If "inherit", usa rcParams["axes.facecolor"](predefinito: 'white').

edgecolor "inherit" o colore, predefinito: rcParams["legend.edgecolor"](predefinito: '0.8')

Il colore del bordo della patch di sfondo della legenda. If "inherit", usa take rcParams["axes.edgecolor"](predefinito: 'black').

modalità {"espandi", nessuna}

Se mode è impostato su "expand"la legenda verrà espansa orizzontalmente per riempire l'area degli assi (o bbox_to_anchor se definisce la dimensione della legenda).

bbox_transform Nessuno omatplotlib.transforms.Transform

La trasformazione per il riquadro di delimitazione ( bbox_to_anchor ). Per un valore di (predefinito) verrà utilizzata la trasformazione Nonedegli assi .transAxes

title str o Nessuno

Il titolo della leggenda. L'impostazione predefinita è nessun titolo ( None).

title_fontproperties Nessuno o matplotlib.font_manager.FontPropertieso dict

Le proprietà del carattere del titolo della legenda. Se None (predefinito), verrà utilizzato l'argomento title_fontsize se presente; se anche title_fontsize è None, verrà utilizzato il valore corrente rcParams["legend.title_fontsize"](predefinito: ).None

title_fontsize int o {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, default: rcParams["legend.title_fontsize"](default: None)

La dimensione del carattere del titolo della legenda. Nota: questo non può essere combinato con title_fontproperties . Se vuoi impostare fontsize insieme ad altre proprietà del font, usa il parametro size in title_fontproperties .

allineamento {'center', 'left', 'right'}, default: 'center'

L'allineamento del titolo della legenda e la casella delle voci. Le voci sono allineate come un unico blocco, in modo che i marcatori siano sempre allineati.

borderpad float, predefinito: rcParams["legend.borderpad"](predefinito: 0.4)

Lo spazio vuoto frazionario all'interno del bordo della legenda, in unità di dimensione del carattere.

labelspace float, predefinito: rcParams["legend.labelspacing"](predefinito: 0.5)

Lo spazio verticale tra le voci della legenda, in unità della dimensione del carattere.

handlelength float, predefinito: rcParams["legend.handlelength"](predefinito: 2.0)

La lunghezza delle maniglie della legenda, in unità della dimensione del carattere.

handleheight float, predefinito: rcParams["legend.handleheight"](predefinito: 0.7)

L'altezza delle maniglie della legenda, in unità di dimensione del carattere.

handletextpad float, predefinito: rcParams["legend.handletextpad"](predefinito: 0.8)

Il riquadro tra la maniglia della legenda e il testo, in unità di dimensione del carattere.

borderaxespad float, predefinito: rcParams["legend.borderaxespad"](predefinito: 0.5)

Il pad tra gli assi e il bordo della legenda, in unità di dimensione del carattere.

colonne spaziatura float, predefinito: rcParams["legend.columnspacing"](predefinito: 2.0)

La spaziatura tra le colonne, in unità di dimensione del carattere.

handler_map dict o Nessuno

Il dizionario personalizzato che esegue il mapping di istanze o tipi a un gestore di legende. Questo handler_map aggiorna la mappa del gestore predefinita trovata in matplotlib.legend.Legend.get_legend_handler_map.

Guarda anche

Axes.legend

Appunti

Alcuni artisti non sono supportati da questa funzione. Vedere la guida Legenda per i dettagli.