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

Ajouter un commentaire

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