Come posizionare la legenda all'esterno di un grafico matplotlib
Spesso potresti voler posizionare la legenda di un grafico Matplotlib al di fuori del grafico reale.
Fortunatamente, questo è facile da fare utilizzando la funzione matplotlib.pyplot.legend() combinata con l’argomento bbox_to_anchor .
Questo tutorial mostra diversi esempi di utilizzo pratico di questa funzione.
Esempio 1: posiziona la didascalia nell’angolo in alto a destra
Il codice seguente mostra come posizionare la legenda nell’angolo in alto a destra all’esterno di un grafico Matplotlib:
import matplotlib.pyplot as plt #createplot plt. subplot (211) plt. plot ([2, 4, 6], label=" First Data ") plt. plot ([6, 4, 2], label=" Second Data ") #place legend in top right corner plt. legend (bbox_to_anchor=(1,1), loc=" upper left ") #showplot plt. show ()
Si noti che l’argomento loc indica a Matplotlib di posizionare l’angolo superiore sinistro della linea della legenda nelle coordinate (x,y) di (1,1) nel grafico.
Esempio 2: posiziona la didascalia nell’angolo in basso a destra
Il codice seguente mostra come posizionare la legenda nell’angolo in basso a destra all’esterno di un grafico Matplotlib:
import matplotlib.pyplot as plt #createplot plt. subplot (211) plt. plot ([2, 4, 6], label=" First Data ") plt. plot ([6, 4, 2], label=" Second Data ") #place legend in top right corner plt. legend (bbox_to_anchor=(1,0), loc=" lower left ") #showplot plt. show ()
Si noti che l’argomento loc indica a Matplotlib di posizionare l’angolo inferiore sinistro della linea della legenda nelle coordinate (x,y) di (1,0) nel grafico.
Esempio 3: posiziona la legenda sopra la trama
Il codice seguente mostra come posizionare la legenda sopra il grafico Matplotlib:
import matplotlib.pyplot as plt #createplot plt. subplot (211) plt. plot ([2, 4, 6], label=" First Data ") plt. plot ([6, 4, 2], label=" Second Data ") #place legend above plot plt. legend (bbox_to_anchor=(0, 1, 1, 0), loc=" lower left ", mode=" expand ", ncol= 2 ) #showplot plt. show ()
Si noti che l’argomento mode dice a Matplotlib di estendere la legenda alla lunghezza del grafico e l’argomento ncol dice a Matplotlib di posizionare le etichette della legenda in 2 colonne.
Potremmo anche tralasciare gli argomenti mode e ncol se vogliamo semplicemente posizionare la legenda nell’angolo in alto a sinistra sopra la trama:
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in Matplotlib:
Come modificare la dimensione del carattere su un grafico Matplotlib
Come rimuovere i segni di spunta dai grafici Matplotlib
Come mostrare le griglie sui grafici Matplotlib