2012-03-17 100 views
15

我希望matplotlib「show」命令在顯示圖時返回命令行 。大多數其他劇情包,如R,這樣做。 但pylab掛起,直到劇情窗口關閉。例如:pylab matplotlib「show」等到窗口關閉

import pylab 
x = pylab.arange(0, 10, 0.1) 
y = pylab.sin(x) 
pylab.plot(x,y, 'ro-') 
pylab.show() # Python hangs here until the plot window is closed 

我希望能夠在執行命令行查詢時查看圖。我正在使用python 2.6.6運行Debian squeeze。 我的〜/ .matplotlib/matplotlibrc包含

backend  : GTKAgg 

謝謝!

+2

嘗試使用[IPython](http://ipython.org/) – 2012-03-17 21:36:22

+0

您的意思是'ipython -pylab'來獲得多線程。 – 2012-03-17 21:39:45

回答

22

加(interactive mode)在pylab.show()之前致電。這將使UI在單獨的線程中運行,並且對show的調用將立即返回。

+1

謝謝。效果很好。用'ion()','show()'命令不再需要。 – Sullivan 2012-03-18 04:08:47

+1

它確實立即返回,但爲什麼數字在那裏顯示「Not Responding」 – 2013-10-08 03:21:41

5

你需要運行它

$ ipython --pylab 

並運行代碼爲

In [8]: x = arange(0,10,.1) 

In [9]: y = sin(x) 

In [10]: plot(x,y,'ro-') 

Out[10]: [<matplotlib.lines.Line2D at 0x2f2fd50>] 

In [11]: 

這給了你,你會想修改其他部分或繪製更多的情況下提示。

+0

謝謝。這很好。 – Sullivan 2012-03-18 04:09:05