2016-06-21 52 views
-2

私はプログラミングが新しくなっていますので、私にご負担ください。 私はsomの問題を説明するのが難しいので、私は助けるためにsomの写真を投稿しました。これは私が持っている一般的な問題ですプログラムの実行中にiPythonが応答しません。プログラムが終了したときに応答します

私はいくつかのデータのためのユーザーを促す対話型プログラムを作った。ユーザーはデータを視覚化するなど、データに対する操作を行うことができます。 matplotlib.pyplotを使ってプロット関数を作った。

ユーザーがデータを視覚化すると、iPythonウィンドウのポップアップが表示されますが、「応答していません」と表示されます。ユーザーがプログラムを終了すると、プロットが表示されます。ここ

コードの簡易版である:

import numpy as np 
import matplotlib.pyplot as plt 

data = np.array([1,2,3,4,5]) 
timeline = np.arange(5) 

while True: 
    choice = int(input("Please choose a number, 0 or 1: ")) 
    if choice == 1: 
     plt.plot(timeline, data) 
    if choice == 0: 
     break 

これはiは1を入力したときに何が起こるかである:https://imgur.com/274NNT0

これはiが0を入力するときに何が起こるかである:https://imgur.com/biOQ8BD

+0

同じ問題が発生している短いプログラムに問題を解決してください。明らかに、このようなプログラムはデータを読み込む必要はなく、単に線をプロットするだけです。入力として6つの選択肢を提示する必要はなく、単純な入力プロンプトです。 – Evert

答えて

0

これはすべき仕事:

import numpy as np 
import matplotlib.pyplot as plt 
plt.ion() 
data = np.array([1,2,3,4,5]) 
timeline = np.arange(5) 

while True: 
    choice = int(input("Please choose a number, 0 or 1: ")) 
    if choice == 1: 
     plt.plot(timeline, data) 
     plt.pause(0.001) 
     plt.draw() 
    if choice == 0: 
     break 

plt.pauseとplt。 tell figure matplotlibを直接描画するように指示します。私もplt.ionを含んでいた。これは常に役に立つが、この場合は必要ではない。

+0

*なぜ*あなたのコードが機能するか説明しておけば助かります。 – SiHa

関連する問題