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

Einen Kommentar hinzufügen

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