Comment ajouter une ligne moyenne au tracé dans Matplotlib
Vous pouvez utiliser la syntaxe de base suivante pour ajouter une ligne moyenne à un tracé dans Matplotlib :
import matplotlib.pyplot as plt import numpy as np #create scatter plot plt.scatter(df.x, df.y) #add horizontal line at mean value of y plt.axhline(y=np.nanmean(df.y))
Notez que axhline ajoute une ligne horizontale au tracé et que nanmean calcule la valeur moyenne (en ignorant les NaN) à l’endroit où la ligne doit être placée.
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : ajouter une ligne moyenne au tracé dans Matplotlib
Supposons que nous ayons le DataFrame pandas suivant :
import pandas as pd
#create DataFrame
df = pd.DataFrame({'x': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
'y':[2, 5, 6, 5, 7, 8, 10, 12, 10, 9, 11, 15]})
#view first five rows of DataFrame
df.head()
x y
0 1 2
1 2 5
2 3 6
3 4 5
4 5 7
Nous pouvons utiliser le code suivant pour créer un nuage de points de x par rapport à y et ajouter une ligne horizontale qui représente la valeur y moyenne :
import matplotlib.pyplot as plt import numpy as np #create scatter plot plt.scatter(df.x, df.y) #add horizontal line at mean value of y plt.axhline(y=np.nanmean(df.y))
Nous pouvons voir qu’une ligne moyenne a été ajoutée au tracé juste au-dessus de la valeur y de 8.
Si nous calculons la valeur y moyenne, nous constaterons qu’elle est de 8,333 :
#calculate average y-value np.nanmean(df.y) 8.333333333
Notez que nous pouvons également utiliser les arguments color , linestyle et linewidth pour spécifier respectivement la couleur, le type de ligne et la largeur de ligne de la ligne moyenne :
import matplotlib.pyplot as plt import numpy as np #create scatter plot plt.scatter(df.x, df.y) #add horizontal line at mean value of y plt.axhline(y=np.nanmean(df.y), color='red', linestyle='--', linewidth=3, label='Avg')
Remarque : Vous pouvez trouver la documentation complète en ligne de la fonction axhline() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans Matplotlib :
Comment ajouter une ligne de tendance dans Matplotlib
Comment dessiner une ligne verticale dans Matplotlib
Comment tracer plusieurs lignes dans Matplotlib