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