A good, interactive plotting package

The available plotting in pylab is good, but could be a lot better. I've
used grace (xmgrace) for years and it's great. After bringing up the plot,
I can interactively modify it in all kinds of ways.

Any thoughts on a good package to use with pylab? (I know I can easily
enough get pylab to use grace. One problem, though, is that grace is
pretty old now. It is based on Motif. I'd love to see it ported to say,
Qt, but I'm sure that's a huge effort)

Well, you can certainly modify a matplotlib plot interactively, but
you have to use the plotting methods. Do you mean with a GUI?

Chaco has very good support for using a GUI to modify plot elements,
as does veusz, though they ack some of the features matplotlib
provides.

It is likely we will support enthought traits for matplotlob figures
in the not too distant future -- at that point, many of the plot
elements will have UI dialogs for customization, at least for certain
backends (Qt and WX most likely)

JDH

···

On Feb 10, 2008 7:32 AM, Neal Becker <ndbecker2@...149...> wrote:

The available plotting in pylab is good, but could be a lot better. I've
used grace (xmgrace) for years and it's great. After bringing up the plot,
I can interactively modify it in all kinds of ways.

I am so happy to hear you say this. With Traits in MPL, it would be
possible to build an interactive plotting application based around
envisage, using other envisage plugins for a python shell and an array
editor.

Moreover, if the MPL plugin is well-designed, it could be used in other
envisage application.

There still is work to do, but I can see the pieces of the puzzle coming
together.

Cheers,

Ga�l

···

On Sun, Feb 10, 2008 at 09:41:34AM -0600, John Hunter wrote:

It is likely we will support enthought traits for matplotlob figures
in the not too distant future -- at that point, many of the plot
elements will have UI dialogs for customization, at least for certain
backends (Qt and WX most likely)

Gael Varoquaux wrote:

I am so happy to hear you say this. With Traits in MPL, it would be
possible to build an interactive plotting application based around
envisage, using other envisage plugins ....

I'm really not trying to be a troll, but tell me again what MPL has that Chaco doesn't? It seems there is a bit of "we want MPL to be more like Chaco", but Chaco is open source, and at least nominally back-end independent, so why is there this duplicate effort?

From a glance, it sure looks like you could write a pylab work-alike around Chaco -- at least for wx -- other back-ends would be more work.

-Chris

···

--
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception

Chris.Barker@...236...

You are not at all a troll. I think this is a very important question to
ask one self. I have thought about it a lot.

Here is my answer:

    * pylab: I love the pylab API. I want (and I am not the only one) to
      be able to construct a plot with a pylab script, or on the command
      line. I would like to be able to modify it interactively
      afterwards. Chaco's pylab equivalent is orders of magnitude below
      the real pylab.

    * Output quality. Things like laTeX support, pdf and eps output, or
      just an constant attention to small details like the tick size,
      etc... give matplotlib an excellent output quality. I got used to
      it and I want to use it for all my publications, and actually I am
      quite happy having it for my day to day work to.

I would love to see MPL and Chaco merge, to be able to get the best of
both worlds, but I don't see it happening any soon, as the two projects
have different goals.

My 2 cents,

Ga�l

···

On Mon, Feb 11, 2008 at 09:45:28AM -0800, Christopher Barker wrote:

Gael Varoquaux wrote:
> I am so happy to hear you say this. With Traits in MPL, it would be
> possible to build an interactive plotting application based around
> envisage, using other envisage plugins ....

I'm really not trying to be a troll, but tell me again what MPL has that
Chaco doesn't? It seems there is a bit of "we want MPL to be more like
Chaco", but Chaco is open source, and at least nominally back-end
independent, so why is there this duplicate effort?

Gael Varoquaux wrote:

    * pylab: I love the pylab API. I want (and I am not the only one) to
      be able to construct a plot with a pylab script, or on the command
      line. I would like to be able to modify it interactively
      afterwards. Chaco's pylab equivalent is orders of magnitude below
      the real pylab.

I wonder why -- it sure looks doable.

    * Output quality. Things like laTeX support, pdf and eps output,

hmm -- I thought Kiva was designed around DisplayPDF, which you'd think would give you pdf support easily!

      just an constant attention to small details like the tick size,
      etc... give matplotlib an excellent output quality.

Interesting, the examples I've seen of Chaco output sure look nice, but maybe it takes more tweaking to get there.

the two projects have different goals.

The goals I see here seem to match pretty well:

https://svn.enthought.com/enthought/wiki/ChacoProject

Indeed, under PyCon2008 toDo, I see:

"Fully verify PDF and SVG backends"

also:
"seemless install for chaco2 and chaco2demo packages for Win32, OS X, Ubuntu, Redhat"

I did just find this (with some of your stuff, Gael), for a bit more info:

http://code.enthought.com/chaco/docs/faq.shtml#comparison

Some thoughts of mine:

A few years back, before MPL, I was very excited about Chaco. however, at that time, Enthought ended up focusing on their needs, and things like non-Windows platforms, etc, were simple not supported.

However, it looks like enthought is making a lot of effort to have their stuff play well with the open source community -- being able to use individual packages (traits, etc.), more support for other platforms, etc.

So it comes a bit down to code base -- I think the goals of Chaco and MPL overlap a LOT -- I think different priorities have been put on them (more focus on GUI interactivity in Chaco, more focus on easy scripting in MPL), but both projects want to be able to do the same things in the long run.

So it comes down to architecture, I guess -- which has the better architecture to build on in the future? I ahve no clue, I don't know either one well enough to comment.

I guess it's time for me to dig into Chaco more.

-Chris

···

--
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception

Chris.Barker@...236...