2015-12-02 173 views
1

我想在Jupyter筆記本(Python 2.7)中繪製,然後提示用戶輸入,保存它,然後改變情節(這是一個至關重要的點:我不想創建一個新的情節,我需要在用戶輸入後修改舊情節)。這完全無法工作。除了顯示圖形並提示輸入之外,它會打開數字窗口,但會凍結(不顯示任何內容),直到我響應raw_input()提示。只有這樣它才能重複。Jupyter(IPython)筆記本:劇情在qt模式+提示raw_input()

簡單版本的代碼來顯示錯誤:

import matplotlib.pyplot as plt 
%matplotlib qt 

fig = plt.figure() 
ax = fig.add_subplot(111) 
ax.plot([1,2,3],[1,2,3]) 
plt.show(block=False) 
my_input = raw_input() 

這一問題只當我用%matplotlib QT,但我不得不使用它,因爲%matplotlib直列我無法修改顯示顯示之後進行繪圖(至少據我所知)。

事實上,我發現它凍結直到單元格執行結束,即使它只是time.sleep()。

我錯過了什麼嗎? matplotlib如何顯示數字的一些設置?

回答

1

由於我使用的是Python3,我必須將raw_input()更改爲input()並刪除了block=False,因爲IPython告訴我這是一個未知屬性。

這應該工作很好:

import matplotlib.pyplot as plt 
%matplotlib inline 

fig = plt.figure() 
ax = fig.add_subplot(111) 
ax.plot([1,2,3], [1,2,3]) 
plt.show() 
my_input = input() 

皮草肯定的是,你需要適應這一回Python2滿足您的需求。

+0

您可以在繪製內聯後修改繪圖嗎?這就是我使用「qt」而不是內聯的原因,這是我更喜歡的。 –

+1

'qt'不適合我 – albert

相關問題