2014-11-21 15 views
2

我必須製作一個散點圖和襯裏,以適合我的數據。 prediction_08.Dem_Adv和prediction_08.Dem_Win是兩列數據。我知道np.polyfit返回係數。但是np.polyval在這裏做什麼?我看到了文檔,但解釋混亂。可有一個人給我解釋清楚解釋np.polyfit和np.polyval散點圖

plt.plot(prediction_08.Dem_Adv, prediction_08.Dem_Win, 'o') 
plt.xlabel("2008 Gallup Democrat Advantage") 
plt.ylabel("2008 Election Democrat Win") 
fit = np.polyfit(prediction_08.Dem_Adv, prediction_08.Dem_Win, 1) 
x = np.linspace(-40, 80, 10) 
y = np.polyval(fit, x) 
plt.plot(x, y) 
print fit 

回答

1

np.polyval是運用你得到了使用polyfit多項式函數。如果你得到y = mx + c的關係。該np.polyval功能將根據文檔與fit[0]乘以你的x值,並添加fit[1] Polyval:

N = len(p) 
y = p[0]*x**(N-1) + p[1]*x**(N-2) + ... + p[N-2]*x + p[N-1] 

如果關係y = ax**2 + bx + c

fit = np.polyfit(x,y,2) 
a = fit[0] 
b = fit[1] 
c = fit[2] 

如果你不想使用polyval函數:

y = a*(x**2) + b*(x) + c 

這將創建與polyval相同的輸出。

+0

明白了。感謝您的明確解釋。 – 2014-11-21 12:44:57

+0

然後你可以通過點擊勾號來接受它作爲答案 – 2014-11-21 12:46:02