pythonプログラムを作成しようとしています。このプログラムは、図形を無期限に表示し、キーボードのキーが押された後に閉じます。
実際、pythonプログラムは、次のMatlabコードと同じように動作するはずです。
_t = 0:0.01:2;
s = sin(2 * pi * t);
plot(t,s)
pause
close
_
pythonで図をプロットすることはできますが、キーボード入力後に何も起こりません。
_import numpy as np
import matplotlib.pyplot as plt
t = np.arange(0.0, 2.0, 0.01)
s = np.sin(2*np.pi*t)
#plt.ion()
fig = plt.figure()
plt.plot(t,s)
#plt.show()
plt.draw()
raw_input("PRESS ANY KEY TO CONTINUE.")
plt.close(fig)
_
これまでのところ、plt.close(fig)
はplt.show()
と組み合わせて何もしないことを観察しました。ただし、代わりにplt.draw()
を使用すると、plt.close(fig)
が図を閉じます。それでも、プログラムにraw_input("PRESS ANY KEY TO CONTINUE.")
を追加すると、図はまったく表示されません。
私は何が間違っているのですか?
また、plt.ion()
を試してみましたが、成功しませんでした。
このようなものかもしれませんか?
import numpy as np
import matplotlib.pyplot as plt
t = np.arange(0.0, 2.0, 0.01)
s = np.sin(2*np.pi*t)
fig = plt.figure()
plt.plot(t,s)
#plt.show()
plt.draw()
plt.pause(1) # <-------
raw_input("<Hit Enter To Close>")
plt.close(fig)
plt.waitforbuttonpress(0)
を使用すると、raw_input()
を使用するトリックを解決できると思います。
import numpy as np
import matplotlib.pyplot as plt
t = np.arange(0.0, 2.0, 0.01)
s = np.sin(2*np.pi*t)
fig = plt.figure()
plt.plot(t,s)
plt.draw()
plt.waitforbuttonpress(0) # this will wait for indefinite time
plt.close(fig)