Comment utiliser la fonction abline dans Matplotlib
La fonction abline dans R peut être utilisée pour ajouter une ligne droite à un tracé.
Malheureusement cette fonction n’existe pas dans Matplotlib, mais nous pouvons définir la fonction suivante pour répliquer la fonction abline en Python :
import matplotlib.pyplot as plt import numpy as np def abline(slope, intercept): axes = plt.gca() x_vals = np.array(axes.get_xlim()) y_vals = intercept + slope * x_vals plt.plot(x_vals, y_vals, '--')
Les exemples suivants montrent comment utiliser cette syntaxe en pratique avec le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'x': [1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11], 'y': [13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33, 35, 40]}) #view first five rows of DataFrame df.head() x y 0 1 13 1 1 14 2 2 17 3 3 12 4 4 23
Exemple 1 : utiliser abline pour tracer une ligne horizontale
Nous pouvons utiliser le code suivant pour tracer une ligne horizontale avec la fonction abline définie précédemment :
#create scatterplot plt.scatter(df.x, df.y) #add horizontal line at y=30 abline(0, 30)
Le résultat est une ligne horizontale à y=30.
Exemple 2 : utiliser abline pour tracer une ligne avec une pente et une intersection spécifiques
Nous pouvons utiliser le code suivant pour tracer une droite avec une pente de 3 et une ordonnée à l’origine de 15 :
#create scatterplot plt.scatter(df.x, df.y) #add straight line with slope=3 and intercept=15 abline(3, 15)
Le résultat est une ligne droite avec une pente de 3 et une intersection de 15.
Exemple 3 : utiliser abline pour tracer la ligne de régression
Nous pouvons utiliser le code suivant pour tracer une droite de régression avec la fonction abline définie précédemment :
#calculate slope and intercept of regression line slope = np.polyfit(df.x, df.y,1)[0] intercept = np.polyfit(df.x, df.y,1)[1] #create scatterplot plt.scatter(df.x, df.y) #add regression line abline(slope, intercept)
Le résultat est une droite de régression ajustée qui passe directement par les points du tracé.
Remarque : Vous pouvez trouver la documentation complète de la fonction polyfit dans NumPy ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :
Comment additionner des colonnes spécifiques dans Pandas
Comment additionner des colonnes en fonction d’une condition dans Pandas
Comment calculer une somme cumulée inversée chez les pandas