Jak dodać średnią linię do wykresu w matplotlib
Możesz użyć następującej podstawowej składni, aby dodać średnią linię do wykresu w Matplotlib:
import matplotlib. pyplot as plt import numpy as np #create scatterplot plt. scatter (df. x , df. y ) #add horizontal line at mean value of y plt. axhline (y=np. nanmean (df. y ))
Zauważ, że axhline dodaje do wykresu linię poziomą, a nanmean oblicza średnią wartość (ignorując NaN), w której linia powinna zostać umieszczona.
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Dodaj linię średnią do wykresu w Matplotlib
Załóżmy, że mamy następującą ramkę DataFrame pand:
import pandas as pd
#createDataFrame
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
Możemy użyć poniższego kodu, aby utworzyć wykres rozrzutu x względem y i dodać poziomą linię reprezentującą średnią wartość y:
import matplotlib. pyplot as plt import numpy as np #create scatterplot plt. scatter (df. x , df. y ) #add horizontal line at mean value of y plt. axhline (y=np. nanmean (df. y ))
Widzimy, że do wykresu dodano linię średnią tuż nad wartością y wynoszącą 8.
Jeśli obliczymy średnią wartość y, okaże się, że wynosi ona 8,333:
#calculate average y-value n.p. nanmean (df. y ) 8.333333333
Zauważ, że możemy również użyć argumentów color , linestyle i linewidth do określenia odpowiednio koloru, rodzaju linii i szerokości linii średniej:
import matplotlib. pyplot as plt import numpy as np #create scatterplot 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 ')
Uwaga : Pełną dokumentację online funkcji axhline() można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w Matplotlib:
Jak dodać linię trendu w Matplotlib
Jak narysować linię pionową w Matplotlib
Jak wykreślić wiele linii w Matplotlib