Comment relier des points de nuage de points à une ligne dans Matplotlib

Suraj Joshi 30 janvier 2023
  1. Appelez show() après avoir appelé à la fois scatter() et plot()
  2. Fonction matplotlib.pyplot.plot() avec des attributs de style linéaire
  3. mot-clé zorder pour changer l’ordre des dessins
Comment relier des points de nuage de points à une ligne dans Matplotlib

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:

Points de Scatterplot connectés avec line_1

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:

Points de Scatterplot connectés avec une ligne en utilisant les paramètres de style de ligne et de couleur

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:

Points du nuage de points connectés avec la ligne en utilisant le style de ligne et la couleur parameters_blue

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:

Points de Scatterplot connectés avec une ligne en utilisant le mot-clé zorder

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:

Points du nuage de points connectés avec la ligne en utilisant l’ordre 1

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Article connexe - Matplotlib Scatter