Matplotlib에서 abline 함수를 사용하는 방법


R의 abline 함수는 경로에 직선을 추가하는 데 사용할 수 있습니다.

불행히도 이 함수는 Matplotlib에 존재하지 않지만 Python에서 abline 함수를 복제하기 위해 다음 함수를 정의할 수 있습니다.

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

다음 예는 다음 pandas 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

예 1: Abline을 사용하여 수평선 그리기

다음 코드를 사용하여 이전에 정의한 abline 함수를 사용하여 수평선을 그릴 수 있습니다.

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

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

결과는 y=30에 수평선이 됩니다.

예 2: aline을 사용하여 특정 경사와 교차점이 있는 선 그리기

다음 코드를 사용하여 기울기가 3 이고 y절편이 15 인 선을 그릴 수 있습니다.

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

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

결과는 기울기가 3이고 교차점이 15인 직선입니다.

예 3: abline을 사용하여 회귀선 그리기

다음 코드를 사용하여 이전에 정의한 abline 함수로 회귀선을 그릴 수 있습니다.

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

결과는 플롯 포인트를 직접 통과하는 적합 회귀선입니다.

참고 : NumPy의 폴리핏 함수에 대한 전체 문서는 여기에서 찾을 수 있습니다.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas에서 특정 열을 합산하는 방법
Pandas의 조건에 따라 열을 합산하는 방법
팬더에서 역누적합을 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다