2014-07-17 78 views
1

使用IPython的筆記本時爲什麼matplotlib無響應?

ipython notebook --pylab 

如果我運行一個CPU密集型代碼,則舊matplotlib的數字變得反應遲鈍。有沒有辦法在單獨的線程上運行matplotlib。我已經嘗試離子()命令,但似乎沒有任何工作

我知道這是非常基本的,但我不能找到一個簡單的命令來做到這一點!

+0

你可以檢查,如果你的地塊實際上是在後臺打開?如果是,那麼IPython似乎沒有反應,但它實際上只是在等待你關閉你的情節。解決這個問題的方法是使用'ipython notebook --pylab inline'讓IPython在筆記本上繪製它們。 – tbekolay

+0

我不想內聯劇情!我想在圖上做變焦等,所以我真的很想要matplotlib接口。所以我們可以說我繪製了10個繪圖...並且在其他單元格中的這些繪圖之後,一些密集的代碼正在運行。爲什麼我不能玩弄已經繪製的情節。我似乎得到那個紅色的車輪轉向!我可以選擇情節......但不能對他們做任何事情! – coffeequant

回答

0

我不喜歡使用pylab繪製IPython筆記本,因爲它「從numpy和matplotlib填充交互式命名空間」(例如,覆蓋NumPy等效的sum等Python函數)。我認爲,更好的辦法是使用

%matplotlib直列

神奇的功能,然後導入pyplot和numpy的單獨要想清楚你所使用的功能

import numpy as np 
from matplotlib import pyplot as plt 

這樣,您就可以具體地使用,例如,經由

np.sum(my_numpy_array)sum(my_python_list)和(其中有意義的性能代價爲較大的數組或列表對象使用NumPy的總和。

用於繪圖,然後你可以使用

plt.plot(my_data)

+1

,仍然不能回答我的問題。計算體積龐大,但我繪製的只是彙總數據....或20-30分。然後又是一個沉重的計算,然後是20-30分的另一個總結。當我的筆記本正在碾壓其他單元時,我想要一個響應式matplotlib – coffeequant