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

関連する問題