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 Legend
classe è 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_handler
modulo. 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
Legend
per supportare il trascinamento del mouse.- Parametri :
- leggenda
Legend
L'
Legend
istanza 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 .
- leggenda
- 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
Axes
oFigure
L'artista che racchiude la leggenda.
- gestisce l' elenco di
Artist
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.
- genitore
- 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 aAxes.legend
) ofigure.bbox
(ifFigure.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
legend
viene 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.FontProperties
o dict Le proprietà del carattere della legenda. Se None (impostazione predefinita),
matplotlib.rcParams
verrà 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, usarcParams["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
FancyBboxPatch
ciò 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"
, usarcParams["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 takercParams["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 o
matplotlib.transforms.Transform
La trasformazione per il riquadro di delimitazione ( bbox_to_anchor ). Per un valore di (predefinito) verrà utilizzata la trasformazione
None
degli assi .transAxes
- title str o Nessuno
Il titolo della leggenda. L'impostazione predefinita è nessun titolo (
None
).- title_fontproperties Nessuno o
matplotlib.font_manager.FontProperties
o 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
.
- loc str o coppia di float, default:
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. Vedereset_bbox_to_anchor
per 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 :
- mouseevent
matplotlib.backend_bases.MouseEvent
- 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
- sottoclasse del renderer .
Appunti
Questo metodo è sovrascritto nelle sottoclassi Artist.
- draw_frame ( b ) [fonte] #
Imposta se la patch della casella della legenda viene disegnata.
- Parametri :
- b bool
- classmethod get_default_handler_map ( ) [fonte] #
Restituisce la mappa del gestore predefinito globale, condivisa da tutte le legende.
- 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_tightbbox ( renderer = Nessuno ) [fonte] #
Mi piace
Artist.get_window_extent
, ma include eventuali ritagli.- Parametri :
- sottoclasse del renderer
RendererBase
renderer che verrà utilizzato per disegnare le figure (es
fig.canvas.get_renderer()
)
- sottoclasse del renderer
- Resi :
Bbox
Il riquadro di delimitazione che lo racchiude (nelle coordinate in pixel della figura).
- 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
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
{'centro', 'sinistra', 'destra'}.
scalare o Nessuno
bool
BboxBase
o tuplabool
Patch o (Percorso, Trasforma) o Nessuno
bool
bool
str
bool
oggetto
bool
sconosciuto
Nessuno o bool o float o richiamabile
bool
(scala: float, lunghezza: float, casualità: float)
bool o Nessuno
str
str
bool
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
BboxBase
o 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.
- bbox
- 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 :
DraggableLegend
o NessunoSe lo stato è
True
questo restituisce l'DraggableLegend
istanza 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_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.FontProperties
ostr
opathlib.Path
Le proprietà del carattere del titolo della legenda. Se a
str
, viene interpretato come un pattern fontconfig analizzato daFontProperties
. Se apathlib.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 #