Tracer un nuage de points

Fonction plot()

La fonction plot() du module matplotlib.pyplot est plus souvent utilisée pour représenter un nuage de points.

Les bases

import matplotlib.pyplot as plt

x = [0, 1.01, 2.02, 2.99, 3.98]     # Données en abscisse
y = [10.32, 7.91, 6.13, 3.97, 2.25] # Données en ordonnée

plt.plot(x, y)       # Tracé de la courbe
plt.show()          # Affichage de la courbe
alternate text
  • Le module pyplot de la librairie matplotlib est importée avec l'alias plt.

  • La fonction plot() trace un nuage de points à partir des listes x et y.

  • La fonction show() appelée à la fin affiche la fenêtre graphique.

Avertissement

Par défaut la fonction plot() trace un segment entre deux points consécutifs.

Ajouter un titre, une légende et une grille

import matplotlib.pyplot as plt

x = [0, 1.01, 2.02, 2.99, 3.98]     # Données en abscisse
y = [10.32, 7.91, 6.13, 3.97, 2.25] # Données en ordonnée

plt.plot(x, y, '+')           # Tracé de la courbe
plt.title('Nuage de points')  # Ajout d'un titre
plt.xlabel('x')               # Nom de la grandeur en abscisse
plt.ylabel('y')               # Nom de la grandeur en ordonnée
plt.grid()                    # Ajout d'une grille
plt.show()                    # Affichage
alternate text
  • Le paramètre "+" dans la fonction plot() met en évidence les points avec un marqueur + sans les relier par des segments de droite.

  • Les fonctions title(), xlabel() et ylabel() ajoutent une titre et les légendes sur les axes.

  • La fonction grid() ajoute un quadrillage.

Définir une échelle

import matplotlib.pyplot as plt

x = [0, 1.01, 2.02, 2.99, 3.98]     # Données en abscisse
y = [10.32, 7.91, 6.13, 3.97, 2.25] # Données en ordonnée


plt.plot(x, y, 'x')     # Tracé de la courbe
plt.title('Mon titre')  # Ajout d'un titre
plt.xlabel('x')         # Nom de la grandeur en abscisse
plt.xlim(0,4)           # Echelle sur l'axe des x
plt.ylabel('y')         # Nom de la grandeur en ordonnée
plt.ylim(0,11)          # Echelle sur l'axe des y
plt.grid()              # Ajout d'une grille
plt.show()              # Affichage
alternate text
  • Les fonctions xlim() et ylim() définissent les échelles respectivement sur l'axe des abscisses et l'axe des ordonnéées.

Fonction scatter()

En réalité, la fonction scatter() est spécialement dédiée à la représentation d'un nuage de points. Mais cette dernière est assez rarement rencontrée au profit de la méthode plot.

import matplotlib.pyplot as plt

x = [0, 1.01, 2.02, 2.99, 3.98]     # Données en abscisse
y = [10.32, 7.91, 6.13, 3.97, 2.25] # Données en ordonnée

plt.scatter(x, y)             # Tracé de la courbe
plt.title('Nuage de points')  # Ajout d'un titre
plt.xlabel('x')               # Nom de la grandeur en abscisse
plt.xlim(-1,5)                # Echelle sur l'axe des x
plt.ylabel('y')               # Nom de la grandeur en ordonnée
plt.ylim(0,11)                # Echelle sur l'axe des y
plt.grid()                    # Ajout d'une grille
plt.show()                    # Affichage
alternate text

Par défaut, la fonction scatter() effectue le tracé avec des gros points.

import matplotlib.pyplot as plt

x = [0, 1.01, 2.02, 2.99, 3.98]     # Données en abscisse
y = [10.32, 7.91, 6.13, 3.97, 2.25] # Données en ordonnée

plt.scatter(x, y, marker="+", color="red")  # Tracé de la courbe
plt.title('Nuage de points')                # Ajout d'un titre
plt.xlabel('x')                             # Nom de la grandeur en abscisse
plt.xlim(-1,5)                              # Echelle sur l'axe des x
plt.ylabel('y')                             # Nom de la grandeur en ordonnée
plt.ylim(0,11)                              # Echelle sur l'axe des y
plt.grid()                                  # Ajout d'une grille
plt.show()                                  # Affichage
alternate text
  • L'option marker fixe le type de marqueur.

  • L'option color définit la couleur des marqueur.

Fonction errorbar()

La fonction errorbar() trace un nuage de points avec des barres d'incertitude en \(x\) et en \(y\).

import matplotlib.pyplot as plt

x = [0, 1.01, 2.02, 2.99, 3.98]     # Données en abscisse
y = [10.32, 7.91, 6.13, 3.97, 2.25] # Données en ordonnée
Ux = 0.10                           # Incertitude type de x
Uy = 0.20                           # Incertitude type de y

plt.errorbar(x, y, xerr=Ux, yerr=Uy, fmt=".") # Tracé de la courbe
plt.title('Nuage de points')                  # Ajout d'un titre
plt.xlabel('x')                               # Nom de la grandeur en abscisse
plt.xlim(-1,5)                                # Echelle sur l'axe des x
plt.ylabel('y')                               # Nom de la grandeur en ordonnée
plt.ylim(0,11)                                # Echelle sur l'axe des y
plt.grid()                                    # Ajout d'une grille
plt.show()                                    # Affichage
alternate text
  • Les options xerr et yerr définissent respectivement les incertitudes type pour les variables x et y.

  • L'option fmt = "." (pour format) affiche uniquement les points.