2016-11-05 92 views
1
x = [np.sqrt(.16425), 0.54455260535599315, 
0.70689815390903377, 
0.90923319341079933, 
0.82807306440917394, 
1.1290283433111854] 
x 

y = [0.8187249999999999, 
    1.0933652892561987, 
1.419317391304348, 
1.8247052631578946, 
1.6618111111111107, 
2.2666052631578943] 

def graph(formula, x_range): 
    x =np.array(x_range) 
    y =eval(formula) 
    plt.plot(x, y) 

graph('0.00030796 + 2.00697*x', range(np.divide(1,2),2)) 

plt.scatter(x,y) 


plt.xlabel('Sqaure Root of Length (m^(1/2))') 
plt.ylabel('Approximate Average Period (s)') 

plt.show() 

所有我試圖做的是劇情的某些數據點和理論線陪它,但我的範圍只接受整數值,所以我不知道如何用一個很好的範圍來製作一個不錯的圖表來顯示我的數據點和理論線。有人可以幫我嗎?功能是不在範圍作圖我希望它

回答

0

您的代碼比您描述的問題多。這是一個有效的實現。

def graph(formula, x_range): 
    x =np.linspace(*x_range,100) 
    y =lambda x: eval(formula) 
    plt.plot(x, y(x)) 

graph('0.00030796 + 2.00697*x', (np.divide(1,2),2)) 
plt.scatter(x,y) 

enter image description here