Come cambiare la posizione di una legenda in matplotlib


Per modificare la posizione di una legenda in Matplotlib, puoi utilizzare la funzione plt.legend() .

Ad esempio, puoi utilizzare la seguente sintassi per posizionare la legenda nell’angolo in alto a sinistra del grafico:

 plt. legend (loc=' upper left ')

La posizione predefinita è “migliore”: è qui che Matplotlib trova automaticamente una posizione per la legenda in base a dove evita di coprire i punti dati.

Tuttavia, puoi specificare una delle seguenti posizioni delle didascalie:

  • In alto a destra
  • nell’angolo in alto a sinistra
  • in basso a sinistra
  • in basso a destra
  • GIUSTO
  • centro sinistra
  • Centrodestra
  • in basso al centro
  • in alto al centro
  • centro

Puoi anche utilizzare l’argomento bbox_to_anchor() per posizionare la legenda all’esterno della trama. Ad esempio, puoi utilizzare la seguente sintassi per posizionare la legenda nell’angolo in alto a destra all’esterno del grafico:

 plt. legend (bbox_to_anchor=( 1.05 , 1 ), loc=' upper left ', borderaxespad= 0 )

Gli esempi seguenti mostrano come utilizzare nella pratica ciascuno di questi metodi.

Esempio 1: cambia la posizione della legenda all’interno del grafico Matplotlib

Il codice seguente mostra come posizionare la legenda nella parte centrale a destra di un grafico a linee Matplotlib:

 import pandas as pd
import matplotlib. pyplot as plt

#createdata
df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]})

#add lines to plot
plt. plot (df[' points '], label=' Points ', color=' green ')
plt. plot (df[' assists '], label=' Assists ', color=' steelblue ')

#place legend in center right of plot
plt. legend (loc=' center right ', title=' Metric ') 

E il codice seguente mostra come posizionare la legenda in alto a sinistra di un grafico Matplotlib:

 import pandas as pd
import matplotlib. pyplot as plt

#create data
df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]})

#add lines to plot
plt. plot (df[' points '], label=' Points ', color=' green ')
plt. plot (df[' assists '], label=' Assists ', color=' steelblue ')

#place legend in center right of plot
plt. legend (loc=' upper left ', title=' Metric ') 

Esempio 2: modificare la posizione della legenda all’esterno del grafico Matplotlib

Per posizionare la legenda all’esterno di un grafico Matplotlib, possiamo utilizzare l’argomento bbox_to_anchor() .

Ad esempio, ecco come posizionare la legenda all’esterno dell’angolo in alto a destra della trama:

 import pandas as pd
import matplotlib. pyplot as plt

#create data
df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]})

#add lines to plot
plt. plot (df[' points '], label=' Points ', color=' green ')
plt. plot (df[' assists '], label=' Assists ', color=' steelblue ')

#place legend in center right of plot
plt. legend (bbox_to_anchor=( 1.02 , 1 ), loc=' upper left ', borderaxespad= 0 )

Ed ecco come posizionare la legenda fuori dall’angolo in basso a destra della trama:

 import pandas as pd
import matplotlib. pyplot as plt

#create data
df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]})

#add lines to plot
plt. plot (df[' points '], label=' Points ', color=' green ')
plt. plot (df[' assists '], label=' Assists ', color=' steelblue ')

#place legend in center right of plot
plt. legend (bbox_to_anchor=( 1.02 , 0.1 ), loc=' upper left ', borderaxespad= 0 ) 

Fare riferimento alla documentazione di matplotlib per una spiegazione dettagliata dell’argomento bbox_to_anchor() .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni in Matplotlib:

Come modificare la dimensione del carattere della legenda in Matplotlib
Come aggiungere un titolo alla legenda in Matplotlib
Come regolare la posizione del titolo in Matplotlib
Come regolare la posizione dell’etichetta dell’asse in Matplotlib

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *