2015-10-07 12 views
0

我真的很困惑:我.... 我有大量的數據,我試圖用最合適的線條來繪製它。 我嘗試兩種不同的方式:如何繪製Python中最適合的線條

pl.plot(med[::skip],var[::skip],'k.') 
p, q = np.polyfit(var[::skip],med[::skip], 1) 
pl.plot(med,p*med+q,'-') 

pl.plot(med[::skip],var[::skip],'k.') 
p = np.polyfit(var[::skip],med[::skip], 1) 
fit = np.polyval(p, var[::skip]) 
pl.plot(var[::skip],fit) 

但他們都給予我一些瘋狂:

enter image description here

我究竟做錯了什麼?

回答

1

numpy.polyfit()需要x然後y它的參數,所以你需要換varmed在你調用它。

請注意,因爲你有一個對數圖,這不會給你一條直線。相反,你應該適合日誌兩個變量:?

pl.plot(med[::skip],var[::skip],'k.') 
p, q = np.polyfit(np.log10(med[::skip]),np.log10(var[::skip]), 1) 
pl.plot(med[::skip],10**(p*np.log10(med[::skip])+q),'-') 
+0

仍然不給我一個直線:(只是一些塗鴉 – Raksha

+0

您使用的第一或第二方法 – michaelrccurtis

+0

秒我試着使用第一個,但得到了「OverflowError:分配太多塊」 – Raksha