Connetti i punti del grafico a dispersione con la linea in Matplotlib
-
Chiama
show()dopo aver chiamato siascatter()cheplot() -
Funzione
matplotlib.pyplot.plot()con l’attributolinestyle -
Parola chiave
zorderper modificare l’ordine di disegno
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:

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:

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:

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:

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:

Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn