Hoe de abline-functie in matplotlib te gebruiken
De abline- functie in R kan worden gebruikt om een rechte lijn aan een pad toe te voegen.
Helaas bestaat deze functie niet in Matplotlib, maar we kunnen de volgende functie definiëren om de abline-functie in Python te repliceren:
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, '--')
De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken met de volgende panda’s DataFrame:
import pandas as pd #createDataFrame 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
Voorbeeld 1: Abline gebruiken om een horizontale lijn te tekenen
We kunnen de volgende code gebruiken om een horizontale lijn te tekenen met de eerder gedefinieerde abline- functie:
#create scatterplot plt. scatter (df. x , df. y ) #add horizontal line at y=30 abline( 0,30 )
Het resultaat is een horizontale lijn op y=30.
Voorbeeld 2: Gebruik aline om een lijn te tekenen met een specifieke helling en snijpunt
We kunnen de volgende code gebruiken om een lijn te tekenen met een helling van 3 en een y-snijpunt van 15 :
#create scatterplot plt. scatter (df. x , df. y ) #add straight line with slope=3 and intercept=15 abline( 3,15 )
Het resultaat is een rechte lijn met een helling van 3 en een snijpunt van 15.
Voorbeeld 3: Gebruik abline om de regressielijn uit te zetten
We kunnen de volgende code gebruiken om een regressielijn uit te zetten met de eerder gedefinieerde abline- functie:
#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)
Het resultaat is een aangepaste regressielijn die rechtstreeks door de plotpunten loopt.
Opmerking : u kunt hier de volledige documentatie van de polyfit- functie in NumPy vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:
Hoe specifieke kolommen in Panda’s op te tellen
Hoe kolommen op te tellen op basis van een voorwaarde in Pandas
Hoe een omgekeerde cumulatieve som in panda’s te berekenen