2016-11-05 49 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