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 ()
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