Come modificare l'ordine degli elementi nella legenda matplotlib


Puoi utilizzare la seguente porzione di codice per modificare l’ordine degli elementi in una legenda Matplotlib:

 #get handles and labels
handles, labels = plt. gca (). get_legend_handles_labels ()

#specify order of items in legend
order = [1,2,0]

#add legend to plot
plt. legend ([handles[idx] for idx in order],[labels[idx] for idx in order])

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: modifica l’ordine degli elementi nella legenda Matplotlib

Supponiamo di creare il seguente grafico a linee in 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],
                   'rebounds': [6, 8, 8, 10, 14, 12, 12, 10, 11]})

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

#add legend
plt. legend () 

Gli elementi della legenda vengono posizionati nell’ordine in cui abbiamo aggiunto le linee alla trama.

Tuttavia, possiamo utilizzare la seguente sintassi per personalizzare l’ordine degli elementi nella legenda:

 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],
                   'rebounds': [6, 8, 8, 10, 14, 12, 12, 10, 11]})

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

#get handles and labels
handles, labels = plt. gca (). get_legend_handles_labels ()

#specify order of items in legend
order = [1,2,0]

#add legend to plot
plt. legend ([handles[idx] for idx in order],[labels[idx] for idx in order]) 

Ordine delle leggende di Matplotlib

Tieni presente che abbiamo specificato:

  • ordine = [1, 2, 0]

Questo significa:

  • Il primo elemento nella legenda dovrebbe essere l’etichetta che originariamente si trovava nella posizione dell’indice 1 della vecchia legenda (“Aiuti”).
  • Il secondo elemento della legenda dovrebbe essere l’etichetta che originariamente si trovava nella posizione dell’indice 2 della vecchia legenda (“Rimbalzi”)
  • Il terzo elemento della legenda deve essere l’etichetta che originariamente si trovava nella posizione di indice 0 della vecchia legenda (“Punti”)

Risorse addizionali

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

Come cambiare la posizione di una legenda in Matplotlib
Come posizionare la legenda all’esterno di un grafico Matplotlib
Come modificare la dimensione del carattere della legenda in Matplotlib

Aggiungi un commento

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