2017-10-06 1 views
0
내 문제는 내가 이미 가지고있는 산포도를 통해 사용자 정의 라인 함수 그래프를 오버레이하는 것입니다

는, 코드가 보인다 , 그리고 하나의 계수. 기본적으로 선을 그려주는 함수를 오버레이하고 싶습니다. y = constant + coefficient * x오버레이 산포도에 선 기능은 다음과 같은 시본은

이 방법을 사용하여 선을 오버레이하려했지만 작동하지 않았습니다.
enter image description here

이 하나가 이것 좀 도와 줄래 :

g = g.map_dataframe(plt.plot, X_plot, X_plot*base_beta[1]+base_beta[0], 'r-') 
plt.show() 

현재 분산 플롯과 같이 보인다?

--ATTEMPT 1

base_beta = results.params 
X_plot = np.linspace(0,1,400) 
Y_plot = base_beta [0] + base_beta[1]*X_plot 

g = sns.FacetGrid(data, size = 6) 
g = g.map(plt.scatter, "usable_area", "price", edgecolor="w") 
plt.plot(X_plot, Y_plot, color='r') 
plt.show() 

같은 그래프하지만 선 결과 : enter image description here

답변

1

당신은 단지 데이터에 선을 플롯 plt.plot를 호출 할 수 있습니다.

import numpy as np 
import matplotlib.pyplot as plt 
import pandas as pd 
import seaborn as sns 

data = pd.DataFrame() 
data['usable_area'] = 5*np.random.random(200) 
data['price'] = 10*data['usable_area']+10*np.random.random(200) 

X_plot = np.linspace(0, 7, 100) 
Y_plot = 10*X_plot+5 

g = sns.FacetGrid(data, size = 6) 
g = g.map(plt.scatter, "usable_area", "price", edgecolor="w") 
plt.plot(X_plot, Y_plot, color='r') 
plt.show() 

는 생산 :

enter image description here

+0

는 작동하지 않는 이상한 이유로, 나는 코드를 작성하지만 아무것도 그래프에 그려되지 않습니다. 이 코드와 그림으로 내 질문을 업데이트했습니다. – Svarto

+0

Worked! 나는 numpy linspace를 잘못 지정했다. 감사! – Svarto

+0

FacetGrid의 사용은 거의 이해가되지 않는 것 같습니다. 그냥'plt.scatter (data [ 'useful_area'], data [ 'price']); plt.plot (X_plot, Y_plot, color = 'r') '이 더 합리적인 것처럼 보입니다. – ImportanceOfBeingErnest

관련 문제