HOWTO · Matplotlib

Connetti i punti del grafico a dispersione con la linea in Matplotlib

Possiamo connettere i punti scatterplot con una linea chiamando show() dopo aver chiamato sia scatter() che plot(), chiamando plot() con gli attributi line e point, e usando la parola chiave zorder.

In questa pagina

Possiamo collegare i punti del grafico scatter con una linea chiamando show() dopo aver chiamato sia scatter() che plot(), chiamando plot() con gli attributi della linea e del punto, e usando la parola chiave zorder per assegnare l’ordine di disegno.

Chiama show() dopo aver chiamato sia scatter() che plot()

matplotlib.pyplot.scatter(x, y) con x come sequenza di coordinate x e y come sequenza di coordinate y crea un grafico a dispersione di punti. Per connettere questi punti del grafico a dispersione in ordine, chiama matplotlib.pyplot.plot(x, y) mantenendo x e y uguali a quelli passati alla funzione scatter().

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 50)
y = np.sin(2 * np.pi * x)

plt.scatter(x, y)
plt.plot(x, y)
plt.title("Connected Scatterplot points with line")
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()
figure.tight_layout()

Produzione:

Punti di Scatterplot collegati con line_1

Funzione matplotlib.pyplot.plot() con l’attributo linestyle

Possiamo anche connettere i punti scatterplot con la linea semplicemente chiamando la funzione matplotlib.pyplot.plot() insieme all’attributo linestyle.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 50)
y = np.sin(2 * np.pi * x)

plt.plot(x, y, linestyle="solid", color="blue")
plt.title("Connected Scatterplot points with line")
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()
figure.tight_layout()

Produzione:

Punti del grafico a dispersione collegati con la linea utilizzando i parametri dello stile di linea e del colore

Allo stesso modo, possiamo provare anche altri diversi linestyle

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 50)
y = np.sin(2 * np.pi * x)

plt.plot(x, y, "xb-")
plt.title("Connected Scatterplot points with line")
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()

Produzione:

Punti del grafico a dispersione collegati con la linea utilizzando lo stile di linea e i parametri di colore_blue

Parola chiave zorder per modificare l’ordine di disegno

Possiamo usare la parola chiave zorder per impostare l’ordine di disegno nella figura. Assegneremo diversi ordini a plot e scatter e quindi invertiremo gli ordini per mostrare comportamenti diversi dell’ordine di disegno.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 50)
y = np.sin(2 * np.pi * x)

plt.scatter(x, y, color="r", zorder=1)
plt.plot(x, y, color="b", zorder=2)

plt.title("Connected Scatterplot points with line")
plt.xlabel("x")
plt.ylabel("sinx")

plt.show()

Produzione:

Punti di Scatterplot collegati con la linea utilizzando zorder

plot() ha l’ordine di 2, più grande dell’ordine di scatter(), quindi il grafico a dispersione è in cima al grafico a linee.

Se invertiamo l’ordine, il grafico a linee sarà in cima al grafico a dispersione.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 50)
y = np.sin(2 * np.pi * x)

plt.scatter(x, y, color="r", zorder=2)
plt.plot(x, y, color="b", zorder=1)

plt.title("Connected Scatterplot points with line")
plt.xlabel("x")
plt.ylabel("sinx")

plt.show()

Produzione:

Punti del grafico a dispersione collegati con la linea utilizzando zorder 1