Een trendlijn toevoegen in matplotlib (met voorbeeld)


U kunt de volgende basissyntaxis gebruiken om een trendlijn toe te voegen aan een plot in Matplotlib:

 #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))

De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld 1: Maak een lineaire trendlijn in Matplotlib

De volgende code laat zien hoe u een basistrendlijn voor een spreidingsdiagram in Matplotlib maakt:

 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)) 

De blauwe stippen vertegenwoordigen de gegevenspunten en de rechte blauwe lijn vertegenwoordigt de lineaire trendlijn.

Merk op dat u ook de argumenten color , linewithth en linestyle kunt gebruiken om het uiterlijk van de trendlijn te wijzigen:

 #add custom trendline to plot
plt. plot (x, p(x), color=" purple ", linewidth= 3 , linestyle=" -- ")

Voorbeeld 2: Maak een polynomiale trendlijn in Matplotlib

Om een polynomiale trendlijn te maken, wijzigt u eenvoudigweg de waarde in de functie np.polyfit() .

We kunnen bijvoorbeeld een waarde van 2 gebruiken om een kwadratische trendlijn te creëren:

 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)) 

Merk op dat de trendlijn nu gebogen is in plaats van recht.

Deze polynomiale trendlijn is vooral handig wanneer uw gegevens een niet-lineair patroon hebben en een rechte lijn er niet in slaagt de trend van de gegevens adequaat weer te geven.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende functies in Matplotlib kunt uitvoeren:

Hoe assen te verbergen in Matplotlib
Hoe vinkjes in Matplotlib te roteren
Hoe het aantal ticks in Matplotlib te veranderen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert