Come cambiare la posizione di una leggenda in seaborn


Per modificare la posizione di una legenda in un grafico marino, puoi utilizzare il comando plt.legend() .

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

 plt. legend (loc=' upper right ')

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 usare l’argomento bbox_to_anchor() per posizionare la legenda fuori dalla 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 leggenda all’interno della trama di Seaborn

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

 import pandas as pd
import seaborn as sns
import matplotlib. pyplot as plt

#create fake data
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B']})

#create scatterplot
sns. scatterplot (data=df, x=' points ', y=' assists ', hue=' team ')

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

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

 #create scatterplot
sns. scatterplot (data=df, x=' points ', y=' assists ', hue=' team ')

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

Esempio 2: modificare la posizione della leggenda al di fuori della trama di Seaborn

Per posizionare la legenda al di fuori di una trama marina, 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 seaborn as sns
import matplotlib. pyplot as plt

#create fake data
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B']})

#create scatterplot
sns. scatterplot (data=df, x=' points ', y=' assists ', hue=' team ')

#place legend outside top right corner 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:

 #create scatterplot
sns. scatterplot (data=df, x=' points ', y=' assists ', hue=' team ')

#place legend outside bottom right corner of plot
plt. legend (bbox_to_anchor=( 1.02 , 0.15 ), loc=' upper left ', borderaxespad= 0 ) 

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

Risorse addizionali

Come regolare la dimensione della figura di una trama Seaborn
Come modificare le etichette degli assi su un grafico Seaborn
Come modificare la dimensione del carattere della legenda in una trama Seaborn

Aggiungi un commento

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