2014-06-10 3 views
2

내 코드는 2 세트의 데이터에 대해 선형 회귀를 수행합니다. 그것은 잘 작동하지만 scipy 또는 numpy 함께 그래프 자체에 선 방정식을 인쇄 할 수있는 방법을 모르겠습니다.scipy 통계를 사용하여 행 방정식을 인쇄하는 방법

y=np.array([15,1489,859,336,277,265,229,285,391,372,5,345]) 
x=np.array([196.16,17762.47,28542.19,30170.5,9384.06,.29,21819.2,16978.2,45767.54,12328.78,113.71,19257.6]) 

print x 
print y 

slope, intercept, r_value, p_value, slope_std_error = stats.linregress(x, y) 
print "slope = "+ str(slope) 
print "r_value = "+ str(r_value) 
print "r_squared = " + str(r_value**2) 
print "p_value = "+str(p_value) 
# Calculate some additional outputs 
predict_y = intercept + slope * x 
print predict_y 
pred_error = y - predict_y 
degrees_of_freedom = len(x) - 2 
residual_std_error = np.sqrt(np.sum(pred_error**2)/degrees_of_freedom) 


# Plotting 
pylab.xlabel('cost') 
pylab.ylabel('signups') 
pylab.plot(x, y, 'o') 
pylab.plot(x, predict_y, 'k-') 
pylab.show() 

답변

5

당신이 방정식 가고 싶어 : 여기

내 코드? 제목에 쓰려면 예 : plt.title('$y=%3.7sx+%3.7s$'%(slope, intercept)). 플롯 안에 넣으려면 plot.text을 사용하십시오.

enter image description here

+0

$ y 또는 % 3.7s는 무엇을 의미합니까? – jxn

+0

@jenn,'$'는'matplotlib'에게'mathtext'를 그리라고 지시합니다. http://matplotlib.org/users/mathtext.html. '%'는 문자열 서식 지정 방법입니다 (https://docs.python.org/2/library/stdtypes.html, 섹션 5.6.2 참조). –

+0

어떻게 지수 방정식을 쓸 수 있습니까? – FaCoffee

3

당신이 원하는 모양에 따라,이 작업을 수행하는 많은 방법이있다. 당신은 그 라인의 방정식을 가질 수 있습니다. 음모의 중간에 떠있는; 선을 가리키는 화살표가 있습니다 (아래 참조). 선을 따라 쓴; 제목으로; 캡션으로 (즉, 대개 음모 아래에서 발생하는 텍스트에서 - 이것은 가장 일반적인 접근 방법입니다); (예를 들어, 다른 색으로 제목이 붙여진 다른 색의 선이있는 경우).

내 마음에 드는 다른 제약 조건이 없다면, 독자는 의심 할 여지없이 방정식이 실제로 참조하고있는 것이기 때문입니다. 이렇게하려면 annotate 사용이 라인을 따라 작성하는 것이 더 명확하다고 보일 수도, 명확성을 위해

x0 = 20000 
y0 = slope*x0+intercept 
pylab.annotate(line_eqn, xy=(x0, y0), xytext=(x0-.4*x0, y0+.4*y0), 
      arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=-0.5')) 

enter image description here

하지만,이 수직 라인 또는 교차 라인에 대한 읽기 어려운 얻을 것이다, 위치 추적의 유연성이 떨어집니다. 개인적으로, 나는 제목을 추천하지 않는다. 왜냐하면 독자는이 위치에서 줄거리의 실제 제목이나 토픽을보기를 기대하기 때문이다. 그러나 그것의 위치에 다른 매개 변수가 필요하지 않으므로 아마도 가장 쉬운 방법 일 것이다.

관련 문제