我正在試圖使一個筆記本,長循環產生的數據逐點放在圖中。但是,使用%matplotlib notebook
和fig.canvas.draw()
時,該圖形很小,直到單元格完成運行。 (事實上,我有很多這樣的圖表,當使用更多的子圖時,它們甚至都是微不足道的。)Jupyter筆記本matplotlib數字顯示小,直到細胞完成
這裏我的代碼重現了jupyter筆記本中的行爲,至少在OS X上使用了(最新)jupyter-core 4.3.0和(最新)matplotlib 2.0.2。
%matplotlib notebook
import time
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1, 1)
for _ in range(5):
ax.plot([1,2,3], [1,2,3])
fig.canvas.draw()
time.sleep(1)
在小區執行我得到這個情節
而當細胞執行完畢(5秒後)我得到這個
我想即使在單元執行期間也能獲得更大的圖像。我究竟做錯了什麼?
當我運行代碼的情節不會改變大小(python 2.7,jupyter 4.4.1,matplotlib 2.0.2)。因此,我無法測試它是否有所作爲,但嘗試將for循環放入新單元格中。這樣,圖形首先以其全尺寸創建,並且只在動畫繼續的下一個單元格中創建。還要注意,爲了用matplotlib做動畫,你可以使用'FuncAnimation'。 – ImportanceOfBeingErnest