Comment ajouter une ligne de tendance dans Matplotlib (avec exemple)



Vous pouvez utiliser la syntaxe de base suivante pour ajouter une ligne de tendance à un tracé dans Matplotlib :

#create scatterplot
plt.scatter(x, y)

#calculate equation for trendline
z = np.polyfit(x, y, 1)
p = np.poly1d(z)

#add trendline to plot
plt.plot(x, p(x))

Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.

Exemple 1 : Créer une ligne de tendance linéaire dans Matplotlib

Le code suivant montre comment créer une ligne de tendance de base pour un nuage de points dans Matplotlib :

import numpy as np
import matplotlib.pyplot as plt

#define data
x = np.array([8, 13, 14, 15, 15, 20, 25, 30, 38, 40])
y = np.array([5, 4, 18, 14, 20, 24, 28, 33, 30, 37])

#create scatterplot
plt.scatter(x, y)

#calculate equation for trendline
z = np.polyfit(x, y, 1)
p = np.poly1d(z)

#add trendline to plot
plt.plot(x, p(x))

Les points bleus représentent les points de données et la ligne bleue droite représente la ligne de tendance linéaire.

Notez que vous pouvez également utiliser les arguments color , linewidth et linestyle pour modifier l’apparence de la ligne de tendance :

#add custom trendline to plot
plt.plot(x, p(x), color="purple", linewidth=3, linestyle="--")

Exemple 2 : Créer une ligne de tendance polynomiale dans Matplotlib

Pour créer une ligne de tendance polynomiale, modifiez simplement la valeur dans la fonction np.polyfit() .

Par exemple, nous pourrions utiliser une valeur de 2 pour créer une ligne de tendance quadratique :

import numpy as np
import matplotlib.pyplot as plt

#define data
x = np.array([8, 13, 14, 15, 15, 20, 25, 30, 38, 40])
y = np.array([5, 4, 18, 14, 20, 24, 28, 33, 30, 37])

#create scatterplot
plt.scatter(x, y)

#calculate equation for quadratic trendline
z = np.polyfit(x, y, 2)
p = np.poly1d(z)

#add trendline to plot
plt.plot(x, p(x))

Notez que la ligne de tendance est désormais incurvée au lieu d’être droite.

Cette ligne de tendance polynomiale est particulièrement utile lorsque vos données présentent un modèle non linéaire et qu’une ligne droite ne parvient pas à capturer correctement la tendance des données.

Ressources additionnelles

Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans Matplotlib :

Comment masquer les axes dans Matplotlib
Comment faire pivoter les étiquettes de coche dans Matplotlib
Comment changer le nombre de ticks dans Matplotlib

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *