Como usar a função abline no matplotlib


A função abline em R pode ser usada para adicionar uma linha reta a um caminho.

Infelizmente esta função não existe no Matplotlib, mas podemos definir a seguinte função para replicar a função abline em 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, '--')

Os exemplos a seguir mostram como usar essa sintaxe na prática com o seguinte DataFrame do pandas:

 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

Exemplo 1: Usando Abline para desenhar uma linha horizontal

Podemos usar o seguinte código para desenhar uma linha horizontal com a função abline definida anteriormente:

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

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

O resultado é uma linha horizontal em y=30.

Exemplo 2: Use uma linha para desenhar uma linha com uma inclinação e intersecção específicas

Podemos usar o código a seguir para desenhar uma linha com inclinação de 3 e interceptação em y de 15 :

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

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

O resultado é uma linha reta com inclinação de 3 e intersecção de 15.

Exemplo 3: Use abline para traçar a linha de regressão

Podemos usar o código a seguir para traçar uma linha de regressão com a função abline definida anteriormente:

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

O resultado é uma linha de regressão ajustada que passa diretamente pelos pontos do gráfico.

Nota : Você pode encontrar a documentação completa da função polyfit no NumPy aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Como somar colunas específicas no Pandas
Como somar colunas com base em uma condição no Pandas
Como calcular uma soma cumulativa reversa em pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *