So verwenden sie die abline-funktion in matplotlib


Die Abline- Funktion in R kann verwendet werden, um einem Pfad eine gerade Linie hinzuzufügen.

Leider existiert diese Funktion in Matplotlib nicht, aber wir können die folgende Funktion definieren, um die Abline-Funktion in Python zu replizieren:

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

Die folgenden Beispiele zeigen, wie diese Syntax in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:

 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

Beispiel 1: Mit Abline eine horizontale Linie zeichnen

Mit dem folgenden Code können wir eine horizontale Linie mit der zuvor definierten Abline- Funktion zeichnen:

 #create scatterplot
plt. scatter (df. x , df. y )

#add horizontal line at y=30
abline( 0,30 ) 

Das Ergebnis ist eine horizontale Linie bei y=30.

Beispiel 2: Verwenden Sie aline, um eine Linie mit einer bestimmten Steigung und einem bestimmten Schnittpunkt zu zeichnen

Mit dem folgenden Code können wir eine Linie mit einer Steigung von 3 und einem y-Achsenabschnitt von 15 zeichnen:

 #create scatterplot
plt. scatter (df. x , df. y )

#add straight line with slope=3 and intercept=15
abline( 3,15 ) 

Das Ergebnis ist eine Gerade mit einer Steigung von 3 und einem Schnittpunkt von 15.

Beispiel 3: Verwenden Sie abline, um die Regressionslinie zu zeichnen

Mit dem folgenden Code können wir eine Regressionslinie mit der zuvor definierten Abline- Funktion zeichnen:

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

Das Ergebnis ist eine angepasste Regressionslinie, die direkt durch die Plotpunkte verläuft.

Hinweis : Die vollständige Dokumentation der Polyfit- Funktion in NumPy finden Sie hier .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:

So summieren Sie bestimmte Spalten in Pandas
So summieren Sie Spalten basierend auf einer Bedingung in Pandas
So berechnen Sie eine umgekehrte kumulative Summe in Pandas

Einen Kommentar hinzufügen

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