Come utilizzare la funzione abline in matplotlib


La funzione abline in R può essere utilizzata per aggiungere una linea retta a un percorso.

Sfortunatamente questa funzione non esiste in Matplotlib, ma possiamo definire la seguente funzione per replicare la funzione abline in Python:

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

I seguenti esempi mostrano come utilizzare questa sintassi in pratica con i seguenti DataFrame panda:

 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

Esempio 1: utilizzo di Abline per disegnare una linea orizzontale

Possiamo usare il seguente codice per disegnare una linea orizzontale con la funzione abline definita in precedenza:

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

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

Il risultato è una linea orizzontale in y=30.

Esempio 2: utilizzare aline per tracciare una linea con una pendenza e un’intersezione specifiche

Possiamo usare il seguente codice per disegnare una linea con una pendenza di 3 e un’intercetta y di 15 :

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

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

Il risultato è una linea retta con pendenza 3 e intersezione 15.

Esempio 3: utilizzare abline per tracciare la retta di regressione

Possiamo utilizzare il codice seguente per tracciare una linea di regressione con la funzione abline definita in precedenza:

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

Il risultato è una linea di regressione adattata che passa direttamente attraverso i punti del grafico.

Nota : puoi trovare la documentazione completa della funzione polyfit in NumPy qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:

Come sommare colonne specifiche in Pandas
Come sommare le colonne in base a una condizione in Pandas
Come calcolare una somma cumulativa inversa in panda

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *