Jak dodać linię trendu w matplotlib (z przykładem)
Aby dodać linię trendu do wykresu w Matplotlib, możesz użyć następującej podstawowej składni:
#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))
Poniższe przykłady pokazują, jak używać tej składni w praktyce.
Przykład 1: Utwórz liniową linię trendu w Matplotlib
Poniższy kod pokazuje, jak utworzyć podstawową linię trendu dla wykresu rozrzutu w 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))
Niebieskie kropki reprezentują punkty danych, a prosta niebieska linia przedstawia liniową linię trendu.
Pamiętaj, że możesz także użyć argumentów color , linewidth i linestyle , aby zmienić wygląd linii trendu:
#add custom trendline to plot
plt. plot (x, p(x), color=" purple ", linewidth= 3 , linestyle=" -- ")
Przykład 2: Utwórz wielomianową linię trendu w Matplotlib
Aby utworzyć wielomianową linię trendu, wystarczy zmienić wartość w funkcji np.polyfit() .
Na przykład możemy użyć wartości 2 , aby utworzyć kwadratową linię trendu:
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))
Zauważ, że linia trendu jest teraz zakrzywiona, a nie prosta.
Ta wielomianowa linia trendu jest szczególnie przydatna, gdy dane mają wzór nieliniowy, a linia prosta nie jest w stanie odpowiednio uchwycić trendu danych.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe funkcje w Matplotlib:
Jak ukryć osie w Matplotlib
Jak obracać etykiety znaczników wyboru w Matplotlib
Jak zmienić liczbę znaczników w Matplotlib