我使用Ipthon3繪製一些數據與默認matplotlib後端'TKAgg'和virtualenv。我有一個plot_script繪製我的數據顯示它在一個新的窗口,它的作品一段時間。然後有點隨機它,當我使用Tab來自動完成一個語句時,它會拋出鏈接圖片中顯示的錯誤消息。當我使用Agg backend時,它可以正常工作,但由於我需要檢查數據(放大等),因此變得非常乏味。在IPython + matplotlib上的自動完成會導致'RuntimeError:主線程不在主循環中'
Screenshot of the Ipython Window
我意識到,我可能不理解線程是如何工作的,但不應該有同時使用在plot_script是非常簡單的一個功能的方式來獲得一個GUI窗口。基本上,我打電話與plot_script.plot_something(pd.DataFrame)功能,該地塊diplayed:
from matplotlib import pyplot as plt
def plot_something(data):
fig, ax = plt.subplots(2,2)
.... # Plot something
fig.savefig()
plt.show()
plt.close(fig)
fig.clear()
如何將我的繪圖移動到主循環,這是一個問題的IPython?
感謝您的幫助。所以現在我在啓動時使用'%gui tk'和'%matplotlib tk'。必須習慣不同的行爲;)。如果直到本週結束時我才注意到錯誤,或者如果您的第二條評論是正確的,我會接受您的答案。 – philster
可悲的是我不能upvote ....從來沒有得到超過15rep我猜;) – philster
沒有後顧之憂,高興的是有任何幫助。提示:註冊其他堆棧交換站點,如果您登錄了足夠多的站點,他們會爲您提供100個代表。 – Matt