Comment relier des points de nuage de points à une ligne dans Matplotlib
-
Appelez
show()
après avoir appelé à la foisscatter()
etplot()
-
Fonction
matplotlib.pyplot.plot()
avec des attributs de style linéaire -
mot-clé
zorder
pour changer l’ordre des dessins
Nous pouvons relier des points de nuage de points à une ligne en appelant show() après avoir appelé scatter() et plot(), en appelant plot() avec les attributs de ligne et de point, et en utilisant le mot-clé zorder pour assigner l’ordre de dessin.
Appelez show()
après avoir appelé à la fois scatter()
et plot()
matplotlib.pyplot.scatter(x, y)
avec x
comme séquence de coordonnées x
et y
comme séquence de coordonnées y crée un nuage de points. Pour relier ces points du nuage de points dans l’ordre, appelez matplotlib.pyplot.plot(x, y)
en gardant x
et y
identiques à ceux passés dans la fonction 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()
Production:
Fonction matplotlib.pyplot.plot()
avec des attributs de style linéaire
Nous pouvons également relier des points de scatterplot
avec des lignes en appelant simplement la fonction matplotlib.pyplot.plot()
avec des attributs 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()
Production:
De même, nous pouvons essayer d’autres styles de lignes différents
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()
Production:
mot-clé zorder
pour changer l’ordre des dessins
Nous pouvons utiliser le mot-clé zorder
pour définir l’ordre de dessin dans la figure. Nous assignerons différents ordres à plot
et scatter
, puis nous inverserons les ordres pour montrer différents comportements d’ordre de dessin.
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()
Production:
L’ordre de plot()
est 2
, plus grand que l’ordre de scatter()
, donc, le nuage de points se trouve au dessus du tracé de la ligne.
Si nous inversons l’ordre, alors le tracé de la ligne sera au-dessus du diagramme de dispersion.
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()
Production:
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn