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의 조건에 따라 열을 합산하는 방법
팬더에서 역누적합을 계산하는 방법