Reputation: 473
I'd like to have the matplotlib "show" command return to the command line while displaying the plot. Most other plot packages, like R, do this. But pylab hangs until the plot window closes. For example:
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
I'd like to be able to view the plot while doing command line queries. I'm running Debian squeeze with python 2.6.6. My ~/.matplotlib/matplotlibrc contains
backend : GTKAgg
Thanks!
Upvotes: 17
Views: 21610
Reputation: 755
You need to run it as
$ ipython --pylab
and run your code as
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]:
This gives you the prompt for cases where you would want to modify other parts or plot more.
Upvotes: 5
Reputation: 19075
Add pylab.ion()
(interactive mode) before the pylab.show()
call. That will make the UI run in a separate thread and the call to show
will return immediately.
Upvotes: 26