2016-05-30 13 views
1

Python 3、Spyder 2.Matplotlibを使ってSpyderでグラフをプロットする方法はありますか?

次のコードを実行すると、float 'a' + Enterを入力するとプロットが表示されます。新しい 'a'を入力すると、グラフが新しい 'a'で更新されます。私はループを壊した、唯一のEnterキーを押しまでスパイダーグラフを示していない。しかし..私はインラインおよび自動、同じ問題を試してみました図が表示されません理由を言って..

import matplotlib.pyplot as plt 
L1 = [10.1, 11.2, 12.3, 13.4, 14.5, 13.4, 12.3, 11.1, 10.0] 
done = False 
while not done: 
    a = input("Please enter alpha (between 0 and 1), Enter to exit:") 
    if a == "": 
     done = True 
    else: 
     a = float(a) 
     L2 = [x * a for x in L1] 
     plt.plot(L1) 
     plt.plot(L2) 

答えて

1

難しいです。 plt.show()を追加しようとしましたか?

この例は、システム上で円滑に動作します。例えば、あなたが実際にグラフ(代わりの新しい行にあなたが新しいaを入力するたびに、追加を更新したい場合は、あなたがラインの一つのydataを変更する必要があることに注意してください:

import matplotlib.pyplot as plt 
import numpy as np 

L1 = np.array([10.1, 11.2, 12.3, 13.4, 14.5, 13.4, 12.3, 11.1, 10.0]) 
p1 = plt.plot(L1, color='k') 
p2 = plt.plot(L1, color='r', dashes=[4,2])[0] 
plt.show() 

done = False 
while not done: 
    a = input("Please enter alpha (between 0 and 1), Enter to exit:") 
    if a == "": 
     done = True 
    else: 
     L2 = L1.copy() * float(a) 
     p2.set_ydata(L2) 

     # Zoom to new data extend 
     ax = plt.gca() 
     ax.relim() 
     ax.autoscale_view() 

     # Redraw 
     plt.draw() 
+0

plt.show()でしたトリック.. Tnxたくさん! – cJc

関連する問題