這是我所追求的MWE,適合于以下問題:from matplotlib.pyplot import plot, draw, showdef make_plot(): plot([1,2,3]) draw() print 'continue computation'print('Do something before plotting.')# Now display plot in a windowmake_plot()answer = raw_input('Back to main and window visible? ')if answer == 'y': print('Excellent')else: print('Nope')show()我想要的是:調用該函數進行繪圖,出現繪圖窗口,然后返回到提示,因此我可以輸入一些值(基于剛剛顯示的圖像)并繼續執行代碼(然后,窗口可以關閉或保留在那兒,我不在乎)。相反,我得到的是帶有繪圖的窗口僅在代碼完成之后出現,這是不好的。
3 回答

幕布斯6054654
TA貢獻1876條經驗 獲得超7個贊
我不能Canopy(至少現在)不能使用它,但是我可以使代碼像我想要使用GeanyIDE那樣運行。這是對我有用的代碼,它是對問題中第一部分代碼的很小的修改,其中show()命令從文件末尾移到命令的正下方make_plot():
from matplotlib.pyplot import plot, draw, show
def make_plot():
plot([1,2,3])
draw()
print 'Plot displayed, waiting for it to be closed.'
print('Do something before plotting.')
# Now display plot in a window
make_plot()
# This line was moved up <----
show()
answer = raw_input('Back to main after plot window closed? ')
if answer == 'y':
print('Move on')
else:
print('Nope')
它并沒有完全滿足我的要求,但是已經足夠接近:它向用戶顯示了一個繪圖,等待直到該繪圖窗口關閉,然后繼續執行代碼。理想情況下,它不必等到繪圖窗口關閉才能繼續執行代碼,但是總比沒有好。
添加回答
舉報
0/150
提交
取消