Crea la leggenda del diagramma a dispersione in Matplotlib

Crea la leggenda del diagramma a dispersione in Matplotlib

  1. Aggiungi una legenda al grafico a dispersione 2D in Matplotlib
  2. Aggiungi una legenda al grafico a dispersione 3D in Matplotlib

La leggenda è semplicemente la descrizione di vari elementi in una figura. Possiamo generare una legenda del grafico a dispersione utilizzando la funzione matplotlib.pyplot.legend.

Aggiungi una legenda al grafico a dispersione 2D in Matplotlib

import numpy as np
import matplotlib.pyplot as plt 

x=[1,2,3,4,5]

y1=[i**2 for i in x]
y2=[2*i+1 for i in x]

plt.scatter(x,y1,marker="x",color='r',label="x**2")
plt.scatter(x,y2,marker="o",color='b',label="2*x+1")
plt.legend()
plt.show()

Produzione:

Aggiungi una legenda a un grafico a dispersione 2D

Abbiamo due grafici a dispersione separati nella figura: uno rappresentato da x e un altro dal segno o. Assegniamo la label a ciascun grafico a dispersione utilizzato come tag durante la generazione della legenda. Quindi, creiamo la legenda nella figura usando la funzione legend() e infine visualizziamo l’intera figura usando il metodo show().

Possiamo anche passare direttamente una tupla di etichette come argomento al metodo legend() e cambiare la posizione della legenda usando il parametro loc del metodo legend().

import numpy as np
import matplotlib.pyplot as plt 

x=[1,2,3,4,5]

y1=[i**2 for i in x]
y2=[2*i+1 for i in x]

plt.scatter(x,y1,marker="x",color='r')
plt.scatter(x,y2,marker="o",color='b')
plt.legend(("x**2","2*x+1"),loc="center left")
plt.show()

Produzione:

Aggiungi la legenda a un grafico a dispersione 2D specificando la posizione in Matplotlib

Questo processo crea una figura con due grafici a dispersione e una legenda posta al centro sinistra del riquadro di confine degli assi.

Aggiungi una legenda al grafico a dispersione 3D in Matplotlib

import matplotlib.pyplot as plt

x=[1,2,3,4,5]
y=[2,1,4,5,6]

z1=[i+j for (i,j) in zip(x, y)]
z2=[3*i-j for (i,j) in zip(x, y)]

axes = plt.subplot(111, projection='3d')
axes.plot(x,y,z1,"x",label="x+y")
axes.plot(x,y,z2,"o",label="3*x-y")

plt.legend(loc="upper left")
plt.show()

Produzione:

Aggiungi una legenda a un grafico a dispersione 3D

Per creare una legenda per il grafico a dispersione 3D, usiamo il metodo plot() invece del metodo scatter(); è perché il metodo legend() non supporta Patch3DCollection restituito dal metodo scatter() dell’istanza Axes3D.

Articolo correlato - Matplotlib Scatter Plot

  • Traccia l'lista delle coordinate X, y in Matplotlib
  • Imposta il colore per il grafico a dispersione in Matplotlib
  • Punti di dispersione dell'etichetta Matplotlib
  • Traccia punti in Matplotlib
  • Articolo correlato - Matplotlib Legend

  • Posiziona la legenda all'esterno del grafico in Matplotlib
  • Cambia la dimensione del carattere della legenda in Matplotlib
  • Crea una singola legenda per tutte le sottotrame in Matplotlib
  • Modificare lo spessore della linea delle linee in Matplotlib Legend
  • Rimuovi la legenda in Matplotlib
  • Titolo legenda Matplotlib