1
是否有任何方法可以逐步創建繪圖,每次顯示plt.show方法被調用時的進度?即使玩弄plt.show(block = False)或plt.show(block = True)也無法使其工作。matplotlib在pydev中顯示
import matplotlib.pyplot as plt
xvals = [i for i in range(0, 10)]
yvals1 = [i**2 for i in range(0, 10)]
yvals2 = [i**3 for i in range(0, 10)]
yvals3 = [i**4 for i in range(0, 10)]
f, ax = plt.subplots(1)
ax.plot(xvals, yvals1)
plt.show(block=False)
raw_input("Program paused. Press Enter to continue...")
ax.plot(xvals, yvals2)
plt.show() # Need to close the window to go ahead.
raw_input("Program paused. Press Enter to continue...")
ax.plot(xvals, yvals3)
plt.show(block=False)
raw_input("Program paused. Press Enter to continue...")
我在使用Pydev的virtualenv中運行matplotlib == 2.0.0。 有什麼想法?
也許[這個答案](http://stackoverflow.com/a/12685979/3005167)中的信息可以幫助你。 (即嘗試在腳本的開頭調用'plt.ion()')。 – kazemakase
除了添加plt.ion()之外,如果我在每個plt.show()命令之後添加一個plt.pause(0.0001),它就會生效。但我不知道是否還有其他更好的方法。 – fara
還有另外一種方式:[動畫](http://matplotlib.org/1.4.1/examples/animation/index.html)哪種方式更好取決於你的用例。動畫更復雜,但可能更強大。對於「生產」代碼,我可能會這樣做。如果您只想在開發/調試期間運行您的代碼步驟,那麼在我看來,「快速和骯髒」的跳動「強健和精細」。 – kazemakase