Come creare una legenda manuale in matplotlib (con esempio)


È possibile utilizzare le funzioni dei sottomoduli matplotlib.lines e matplotlib.patches per creare una legenda manuale in un grafico matplotlib.

L’esempio seguente mostra come eseguire questa operazione.

Esempio: crea una legenda manuale in Matplotlib

Il codice seguente mostra come creare un grafico a dispersione in matplotlib con una legenda predefinita:

 import matplotlib. pyplot as plt

#define data to plot
x = [1, 2, 3, 4, 5, 6, 7]
y = [2, 3, 5, 8, 12, 18, 27]

#create scatter plot of x vs. y
plt. scatter (x, y, label=' Original Data ', color=' steelblue ')

#add legend
plt. legend ()

#displayplot
plt. show () 

Per creare una legenda manuale con linee e quadrati personalizzati, dobbiamo importare i sottomoduli matplotlib.lines e matplotlib.patches .

Il codice seguente mostra come utilizzare questi sottomoduli per creare una legenda manuale:

 import matplotlib. pyplot as plt
from matplotlib. lines import Line2D
import matplotlib. patches as mpatches

#define data to plot
x = [1, 2, 3, 4, 5, 6, 7]
y = [2, 3, 5, 8, 12, 18, 27]

#create scatter plot of x vs. y
plt. scatter (x, y, label=' Original Data ', color=' steelblue ')

#define handles and labels that will get added to legend
handles, labels = plt. gca (). get_legend_handles_labels ()

#define patches and lines to add to legend
patch1 = mpatches. Patch (color=' orange ', label=' First Manual Patch ')
patch2 = mpatches. Patch (color=' orange ', label=' First Manual Patch ')   
line1 = Line2D([0], [0], label=' First Manual Line ', color=' purple ')
line2 = Line2D([0], [0], label=' Second Manual Line ', color=' red ')

#add handles
handles. extend ([patch1, line1, line2])

#add legend
plt. legend (handles=handles)

#displayplot
plt. show () 

Legenda del manuale Matplotlib

Tieni presente che questa legenda include l’etichetta dei dati originali, ma anche le etichette e le forme degli elementi che abbiamo aggiunto manualmente.

Per modificare le etichette o i colori di uno qualsiasi degli elementi, è sufficiente modificare i valori degli argomenti etichetta e colore nella parte di codice precedente.

Nota : fare riferimento a questo tutorial per sapere come modificare la posizione della legenda nella trama.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in Matplotlib:

Come aumentare la dimensione del grafico in Matplotlib
Come regolare la posizione del titolo in Matplotlib
Come impostare gli intervalli degli assi in Matplotlib

Aggiungi un commento

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