467,880 Members | 1,263 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 467,880 developers. It's quick & easy.

Is there a better interactive plotter then pylab?

List:

I'm trying to us pylab to see what I'm doing with some DSP algorithms,
in case my posts about convolution and ffts weren't giving it away.

I've been using pylab's plot function, but I'm finding it a bit
cumbersome.

It works, but if I switch from the interactive window to the plot window
and back, the plot window gets trashed.

Is there a better alternative for interactive use?

Thanks
Charles

Jul 19 '05 #1
  • viewed: 7536
Share:
2 Replies
>>>>> "Charles" == Charles Krug <cd****@worldnet.att.net> writes:

Charles> List: I'm trying to us pylab to see what I'm doing with
Charles> some DSP algorithms, in case my posts about convolution
Charles> and ffts weren't giving it away.

Charles> I've been using pylab's plot function, but I'm finding it
Charles> a bit cumbersome.

Charles> It works, but if I switch from the interactive window to
Charles> the plot window and back, the plot window gets trashed.

Charles> Is there a better alternative for interactive use?

You are probably not using pylab interactive mode properly.
matplotlib has several GUI backends (gtk, tk, qt, etc...). Most GUIs
take control with their mainloop and prevent further interaction.
From what you describe, I'm pretty sure you haven't setup your configuration properly for interactive use. Fortunately, there are a
couple of solutions.

For the standard python shell, you need to use the TkAgg backend.
Tkinter is the only python GUI that plays nicely with the standard
python shell. You will need to set "backend : TkAgg" and
"interactive : True" in the matplotlib rc file. See
http://matplotlib.sf.net/interactive.html for details and
http://matplotlib.sf.net/.matplotlibrc for information on the
configuration file.

If you want to use another GUI backend, eg GTKAgg (the default on
linux and also the fastest backend), you need to use a custom python
interpreter which runs the GUI in a thread. The best choice here is
to use ipython (http://ipython.scipy.org) with the -pylab option.
ipython is aware of matplotlib and its rc file, and will read the rc
file, set the interactive mode, detect the GUI backend, and make the
proper threading calls. Basically it *just works*. If you are on
linux, it's an easy install (sudo python setup.py install). On
windows it's a bit harder, and you may want to look at the 1069
release candidate of enthought python at
http://www.enthought.com/downloads/d...s.htm#download, which comes
with ipython and matplotlib and lots of other goodies. Again, you'll
need to start ipythhon with
ipython -pylab


In addition to the links above, see also
http://matplotlib.sf.net/faq.html#SHOW.

Hope this helps,
JDH
Jul 19 '05 #2
On Wed, 27 Apr 2005 20:56:07 -0500, John Hunter
<jd******@ace.bsd.uchicago.edu> wrote:
>> "Charles" == Charles Krug <cd****@worldnet.att.net> writes:


Charles> List: I'm trying to us pylab to see what I'm doing with
Charles> some DSP algorithms, in case my posts about convolution
Charles> and ffts weren't giving it away.

Charles> I've been using pylab's plot function, but I'm finding it
Charles> a bit cumbersome.

Charles> It works, but if I switch from the interactive window to
Charles> the plot window and back, the plot window gets trashed.

Charles> Is there a better alternative for interactive use?

You are probably not using pylab interactive mode properly.
matplotlib has several GUI backends (gtk, tk, qt, etc...). Most GUIs
take control with their mainloop and prevent further interaction.
From what you describe, I'm pretty sure you haven't setup your

configuration properly for interactive use. Fortunately, there are a
couple of solutions.

For the standard python shell, you need to use the TkAgg backend.
Tkinter is the only python GUI that plays nicely with the standard
python shell. You will need to set "backend : TkAgg" and
"interactive : True" in the matplotlib rc file. See
http://matplotlib.sf.net/interactive.html for details and
http://matplotlib.sf.net/.matplotlibrc for information on the
configuration file.


Those are already set. I'm taking a look at ipython now.

Jul 19 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

5 posts views Thread by Liberal | last post: by
1 post views Thread by jean.rossier | last post: by
6 posts views Thread by googlinggoogler | last post: by
2 posts views Thread by Gary Wessle | last post: by
2 posts views Thread by timw.google | last post: by
reply views Thread by ehenlin | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.