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