I can't play with the pretty pictures

Your screenshots---WOW!

I installed matplotlib 0.80 (from source). Now the screenshots are on
my computer. But I can't interact with them. As soon as I enter show()
the plot appears in both python and ipython and then the prompt
disappears. If I type, for example, xlabel('Year') and ylabel('Number
of geeky science fiction desktop backgrounds') nothing happens. (I can
use the GUI controls on the plot.)

Eventually I enter control-c in ipython and get

$ python2.3-ipython
Python 2.3.5 (#2, May 4 2005, 08:51:39)
Type "copyright", "credits" or "license" for more information.

IPython 0.6.13 -- An enhanced Interactive Python.
? -> Introduction to IPython's features.
%magic -> Information about IPython's 'magic' % functions.
help -> Python's own help system.
object? -> Details about 'object'. ?object also works, ?? prints more.

In [1]: from pylab import *

In [2]: plot([1,2,3,4])
Out[2]: [<matplotlib.lines.Line2D instance at 0x405cfe6c>]

In [3]: show()
xlabel('Year')
ylabel('Number of geeky science fiction desktop backgrounds')

···

---------------------------------------------------------------------------
exceptions.KeyboardInterrupt Traceback (most
recent call last)

/home/me/<console>

/usr/lib/python2.3/site-packages/matplotlib/backends/backend_gtk.py in
show(mainloop)
     85
     86 if mainloop and gtk.main_level() == 0:
---> 87 gtk.main()
     88
     89

KeyboardInterrupt:

In [4]:

Keith Goodman wrote:

Your screenshots---WOW!

I installed matplotlib 0.80 (from source). Now the screenshots are on
my computer. But I can't interact with them. As soon as I enter show()
the plot appears in both python and ipython and then the prompt
disappears. If I type, for example, xlabel('Year') and ylabel('Number
of geeky science fiction desktop backgrounds') nothing happens. (I can
use the GUI controls on the plot.)

Eventually I enter control-c in ipython and get

$ python2.3-ipython

You should use 'ipython -pylab' instead, so that ipython can coordinate the gui and python threads for you.

Cheers,

f