2014-02-13 125 views
-1

我有一個大的數據集,我正在循環以生成圖。我已經成功地計算出了散點圖,但是我在解決如何生成迴歸線和擬合曲線時遇到了問題。matplotlib散點圖的迴歸線和擬合曲線

這裏是我的代碼:

# import modules 
import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 

# OPTIONS AND PARAMETERES 
pd.set_option('display.mpl_style', 'default') 
df = pd.read_csv('W:/Dropbox/Connor/vaccinia.csv', index_col = 'SampleID') 
x = df.iloc[0][59:84].astype(np.float) 
fileNameTemplate = r'W:\Dropbox\Connor\Plot\Plot{0:2}.png' 

# THE LOOP - for i in df.count(1): 
for i in range(0, 10): 
    venus = df.iloc[i][8:33] 
    mcherry = df.iloc[i][33:58] 

    fig = plt.figure() 
    fig.suptitle(str(i) + " - " + df.iloc[i][0]) 
    plt.xlabel('uM compound') 
    plt.ylabel('reporter activity') 
    ax1 = fig.add_subplot(111) 
    ax1.set_xscale('log') 
    ax1.scatter(x, venus, c='g') 
    ax1.scatter(x, mcherry, c='r') 

    plt.savefig(fileNameTemplate.format(i)) 
    plt.close() 

我發現(和未遂)多種方式的在線無濟於事。當我得到np.sin的屬性錯誤時,迴歸線通常會失敗,並且由於polyfit期間的錯誤,擬合曲線將不起作用。我懷疑有些問題可能是因爲我的一些數據點是NaN

任何人都可以幫我嗎?

編輯:我也很感激你對最佳實踐的想法 - 我今天開始學習python和所有這些,所以我不知道我在做什麼。

+0

你的問題很模糊。嘗試優化您的問題以獲得更好的答案。 SO並沒有太多的討論。 – spiehr

+0

好的,我如何讓np.sin不要拋出屬性錯誤或polyfit正常工作? – Zak

+0

這裏最大的問題是你的例子需要被複制/粘貼。在目前的形式下,我無法運行示例代碼,因爲我無法訪問W:\驅動器。請在您的示例中包含一些代碼以生成一些數據模型。 –

回答