matplotlib.legend#

Il modulo legend definisce la classe Legend, che è responsabile del disegno delle legende associate ad assi e/o figure.

Importante

È improbabile che tu possa mai creare manualmente un'istanza di Legend. La maggior parte degli utenti normalmente creerebbe una legenda tramite la legend funzione. Per maggiori dettagli sulle leggende c'è anche una guida alle leggende .

La Legendclasse è un contenitore di handle di legenda e testi di legenda.

La mappa del gestore della legenda specifica come creare maniglie della legenda da artisti (linee, patch, ecc.) negli assi o nelle figure. I gestori di legenda predefiniti sono definiti nel legend_handlermodulo. Sebbene non tutti i tipi di artista siano coperti dai gestori di legenda predefiniti, è possibile definire gestori di legende personalizzati per supportare oggetti arbitrari.

Vedere la guida legenda per ulteriori informazioni.

classe matplotlib.legend. DraggableLegend ( legend , use_blit = False , update = 'loc' ) [fonte] #

Basi:DraggableOffsetBox

Wrapper attorno a Legendper supportare il trascinamento del mouse.

Parametri :
leggendaLegend

L' Legendistanza da avvolgere.

use_blit bool, facoltativo

Usa il blitting per una composizione dell'immagine più rapida. Per i dettagli vedere FuncAnimation .

aggiorna {'loc', 'bbox'}, facoltativo

Se "loc", aggiorna il parametro loc della legenda al momento della finalizzazione. Se "bbox", aggiorna il parametro bbox_to_anchor .

finalize_offset ( ) [fonte] #
classe matplotlib.legend. Legend ( genitore , handle , labels , * , loc = None , numpoints = None , markerscale = None , markerfirst = True , scatterpoints = None , scatteryoffsets = None , prop = None , fontsize = None , labelcolor = None , borderpad= Nessuno , labelspacing = Nessuno , handlelength = Nessuno , handleheight = Nessuno , handletextpad = Nessuno , borderaxespad = Nessuno , columnspacing = Nessuno , ncols = 1 , mode = Nessuno , fancybox = Nessuno , shadow = Nessuno , title = Nessuno , title_fontsize = Nessuno, framealpha = Nessuno , edgecolor = Nessuno , facecolor = Nessuno , bbox_to_anchor = Nessuno , bbox_transform = Nessuno , frameon = Nessuno , handler_map = Nessuno , title_fontproperties = Nessuno , allineamento = 'center' , ncol = 1 ) [fonte] #

Basi:Artist

Posiziona una legenda sugli assi nella posizione loc.

Parametri :
genitore AxesoFigure

L'artista che racchiude la leggenda.

gestisce l' elenco diArtist

Un elenco di Artisti (linee, patch) da aggiungere alla legenda.

etichette elenco di str

Una lista di etichette da mostrare accanto agli artisti. La lunghezza delle maniglie e delle etichette dovrebbe essere la stessa. Se non lo sono, vengono troncati alla minore delle due lunghezze.

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.

Appunti

Gli utenti possono specificare qualsiasi posizione arbitraria per la legenda utilizzando l' argomento della parola chiave bbox_to_anchor . bbox_to_anchor può essere un BboxBase(o derivato da esso) o una tupla di 2 o 4 float. Vedere set_bbox_to_anchorper maggiori dettagli.

La posizione della legenda può essere specificata impostando loc con una tupla di 2 float, che viene interpretata come l'angolo inferiore sinistro della legenda nella coordinata degli assi normalizzati.

codici = {'best': 0, 'center': 10, 'center left': 6, 'center right': 7, 'lower center': 8, 'lower left': 3, 'lower right': 4, 'right': 5, 'upper center': 9, 'upper left': 2, 'upper right': 1} #
contiene ( evento ) [fonte] #

Verifica se l'artista contiene l'evento del mouse.

Parametri :
mouseeventmatplotlib.backend_bases.MouseEvent
Resi :
contiene bool

Se i valori sono all'interno del raggio.

dettagli dict

Un dizionario specifico dell'artista dei dettagli del contesto dell'evento, ad esempio quali punti sono contenuti nel raggio di selezione. Vedere le singole sottoclassi di artisti per i dettagli.

draw ( renderer ) [fonte] #

Disegna l'artista (e i suoi figli) usando il renderer dato.

Questo non ha effetto se l'artista non è visibile ( Artist.get_visible restituisce False).

Parametri :
sottoclasse del renderer .RendererBase

Appunti

Questo metodo è sovrascritto nelle sottoclassi Artist.

draw_frame ( b ) [fonte] #

Imposta se la patch della casella della legenda viene disegnata.

Parametri :
b bool
get_alignment ( ) [fonte] #

Ottieni il valore di allineamento della casella della legenda

get_bbox_to_anchor ( ) [fonte] #

Restituisce la bbox a cui sarà ancorata la legenda.

get_children ( ) [fonte] #

Restituisce un elenco dei figli Artistdi this Artist.

classmethod get_default_handler_map ( ) [fonte] #

Restituisce la mappa del gestore predefinito globale, condivisa da tutte le legende.

get_draggable ( ) [fonte] #

Ritorna Truese la legenda è trascinabile, Falsealtrimenti.

get_frame ( ) [fonte] #

Restituisce l' Rectangleusato per incorniciare la legenda.

get_frame_on ( ) [fonte] #

Ottieni se la patch della casella della legenda è disegnata.

static get_legend_handler ( legend_handler_map , orig_handle ) [fonte] #

Restituisce un gestore di legenda da legend_handler_map che corrisponde a orig_handler .

legend_handler_map dovrebbe essere un oggetto dizionario (restituito dal metodo get_legend_handler_map).

Innanzitutto controlla se lo stesso orig_handle è una chiave nella legend_handler_map e restituisce il valore associato. In caso contrario, controlla ciascuna delle classi nel suo ordine di risoluzione del metodo. Se non viene trovata alcuna chiave corrispondente, restituisce None.

get_legend_handler_map ( ) [fonte] #

Restituisce la mappa del gestore di questa istanza della legenda.

get_lines ( ) [fonte] #

Restituisce l'elenco di Line2Ds nella legenda.

get_patches ( ) [fonte] #

Restituisce l'elenco di Patchs nella legenda.

get_texts ( ) [fonte] #

Restituisce l'elenco di Texts nella legenda.

get_tightbbox ( renderer = Nessuno ) [fonte] #

Mi piace Artist.get_window_extent, ma include eventuali ritagli.

Parametri :
sottoclasse del rendererRendererBase

renderer che verrà utilizzato per disegnare le figure (es fig.canvas.get_renderer())

Resi :
Bbox

Il riquadro di delimitazione che lo racchiude (nelle coordinate in pixel della figura).

get_title ( ) [fonte] #

Restituisce l' Textistanza per il titolo della legenda.

get_window_extent ( renderer = None ) [fonte] #

Ottieni il riquadro di delimitazione dell'artista nello spazio espositivo.

La larghezza e l'altezza del riquadro di delimitazione non sono negative.

Le sottoclassi dovrebbero sovrascrivere per l'inclusione nel calcolo "stretto" del riquadro di delimitazione. L'impostazione predefinita è restituire un riquadro di delimitazione vuoto a 0, 0.

Fai attenzione quando usi questa funzione, i risultati non si aggiorneranno se l'estensione della finestra dell'artista cambia. L'estensione può cambiare a causa di eventuali modifiche nello stack di trasformazione, come la modifica dei limiti degli assi, la dimensione della figura o la tela utilizzata (come avviene quando si salva una figura). Questo può portare a comportamenti imprevisti in cui le figure interattive appariranno bene sullo schermo, ma verranno salvate in modo errato.

set ( * , agg_filter=<UNSET> , align =<UNSET> , alpha=<UNSET> , animation=<UNSET> , bbox_to_anchor=<UNSET> , clip_box=<UNSET> , clip_on=<UNSET> , clip_path=<UNSET > , draggable=<UNSET> , frame_on=<UNSET> , gid=<UNSET> , in_layout=<UNSET> , label=<UNSET> , mouseover=<UNSET> , ncols=<UNSET> , path_effects=<UNSET> , picker=<UNSET> ,rasterizzato=<UNSET> ,sketch_params=<UNSET> , snap=<UNSET> , title=<UNSET> , transform=<UNSET> , url=<UNSET> , visible=<UNSET> , zorder=<UNSET> ) [source] #

Imposta più proprietà contemporaneamente.

Le proprietà supportate sono

Proprietà

Descrizione

agg_filter

una funzione di filtro, che accetta un array float (m, n, 3) e un valore dpi e restituisce un array (m, n, 3) e due offset dall'angolo in basso a sinistra dell'immagine

alignment

{'centro', 'sinistra', 'destra'}.

alpha

scalare o Nessuno

animated

bool

bbox_to_anchor

BboxBaseo tupla

clip_box

Bbox

clip_on

bool

clip_path

Patch o (Percorso, Trasforma) o Nessuno

draggable

bool

figure

Figure

frame_on

bool

gid

str

in_layout

bool

label

oggetto

mouseover

bool

ncols

sconosciuto

path_effects

AbstractPathEffect

picker

Nessuno o bool o float o richiamabile

rasterized

bool

sketch_params

(scala: float, lunghezza: float, casualità: float)

snap

bool o Nessuno

title

str

transform

Transform

url

str

visible

bool

zorder

galleggiante

set_alignment ( allineamento ) [fonte] #

Imposta l'allineamento del titolo della legenda e della casella delle voci.

Le voci sono allineate come un unico blocco, in modo che i marcatori siano sempre allineati.

Parametri :
allineamento {'center', 'left', 'right'}.
set_bbox_to_anchor ( bbox , transform = None ) [fonte] #

Imposta la bbox a cui sarà ancorata la legenda.

Parametri :
bbox BboxBaseo tupla

Il riquadro di delimitazione può essere specificato nei seguenti modi:

  • Un'istanza BboxBase_

  • Una tupla di nella trasformazione data (coordinata assi normalizzata se None)(left, bottom, width, height)

  • Una tupla in cui la larghezza e l'altezza saranno considerate pari a zero.(left, bottom)

  • None , per rimuovere l'ancoraggio della bbox e utilizzare la bbox principale.

trasformare Transform, facoltativo

Trasformazione da applicare al riquadro di delimitazione. Se non specificato, utilizzerà una trasformazione al riquadro di delimitazione del genitore.

classmethod set_default_handler_map ( handler_map ) [fonte] #

Imposta la mappa del gestore predefinito globale, condivisa da tutte le legende.

set_draggable ( state , use_blit = False , update = 'loc' ) [fonte] #

Abilita o disabilita il supporto del trascinamento del mouse della legenda.

Parametri :
stato bool

Se il trascinamento del mouse è abilitato.

use_blit bool, facoltativo

Usa il blitting per una composizione dell'immagine più rapida. Per i dettagli vedere FuncAnimation .

aggiorna {'loc', 'bbox'}, facoltativo

Il parametro della legenda da modificare durante il trascinamento:

  • 'loc': aggiorna il parametro loc della legenda

  • 'bbox': aggiorna il parametro bbox_to_anchor della legenda

Resi :
DraggableLegendo Nessuno

Se lo stato è Truequesto restituisce l' DraggableLegendistanza di supporto. Altrimenti questo restituisce None .

set_frame_on ( b ) [fonte] #

Imposta se la patch della casella della legenda viene disegnata.

Parametri :
b bool
set_ncols ( ncols ) [fonte] #

Imposta il numero di colonne.

set_title ( title , prop = None ) [fonte] #

Imposta il titolo della legenda e lo stile del titolo.

Parametri :
titolo str

Il titolo della leggenda.

puntello font_manager.FontPropertieso stropathlib.Path

Le proprietà del carattere del titolo della legenda. Se a str, viene interpretato come un pattern fontconfig analizzato da FontProperties. Se a pathlib.Path, viene interpretato come il percorso assoluto di un file di font.

classmethod update_default_handler_map ( handler_map ) [fonte] #

Aggiorna la mappa del gestore predefinito globale, condivisa da tutte le legende.

ordine z = 5 #