On 12/12/06, Nate Lowrie <[EMAIL PROTECTED]> wrote:
> On 12/12/06, Paul McNett <[EMAIL PROTECTED]> wrote:
> > Nate Lowrie wrote:
> > > Any suggestions on how to implement the graphs?  I didn't get a response 
> > > so
> > > I thought I'd try this again.
> >
> > Thanks for working on this stuff. The GL canvas will be a nice thing to
> > have. We definitely need graphing, but I don't think we should do it
> > ourselves. We should conduct an orderly sampling of what is available,
> > and use the one that fits in best. I seem to recall a graphing package
> > that was ui-agnostic that could draw to Tkinter, wx, qt, encapsulated
> > postscript, whatever. The number of dependencies doesn't matter much, if
> > it works well and fits with Dabo.

Ok, so I did some heavy research on this.  All of the graphing
libraries except matplotlib were clearly in Alpha or Beta.  Here's a
general summary of each one:

Graphite - Extremely buggy when I played with it.  Fair amount of
graphs.  Nothing released since 1999 so that automatically excludes it
in my opinion.  The package looks to be dead, stopped development in
Alpha.

ChartDirector - Wonderful interface.  Well maintained in active
development.  No backend for GUI rendering.  Could be useful if we can
figure out how to interface to a GUI.  I doubt we'd be able to get
interactive graphs with it.

pygraphlib - somewhat skimpy interface.  Seems to be stable enough.
No longer in active development though.

matplotlib - Feature rich.  Tons of graphs.  Well thought out, modular
design.  Ability to interface with several backends including pygtk,
wxPython, Tkinter, postscript, gdmodule, libart/paint, svg, agg
(antigrain geometry) and Cairo are supported.  Documentation has come
a long way since I last looked at it.  Go to
http://matplotlib.sourceforge.net/screenshots.html and you can see
some screen shots.

I think that matplotlib is our winner by far.  The backends can change
while the api for the graphs stay the same, which should allow us to
shift the backend to a GUI toolkit of our choosing easily.  I like the
way they define their Figures and Axes classes and we can probably get
away with creating a main graph object and then just subclassing from
there to get specialties like Pie charts and bar graphs.

Should I put these in the uiwx folder or another graphs folder?
Implementation of specific backends into dabo objects will probably be
GUI specific, so wx might be a good idea.

Let me know what you guys think.

Cheers,

Nate L.

> >
>
> I do believe that you are speaking of Matplotlib.  It was meant to be
> standalone with a scripting syntax similiar to Matlab.  However, due
> to it's popularity they added backends.  It's a wonderful, rich
> library.  I used the Wx backend a couple of times for graphs.  It was
> fairly good if you generated a graph one time and didn't change it.  I
> tried doing some realtime updating and couldn't get things like the
> zoom and axis to change.  I don't know what I was doing wrong, but the
> builtin utility bar provided by matplotlib provided me with a quick
> but ungainly fix, so I used that and stopped persuing the solution.
> This package is definitely worth pursuing.
>
> There is a library called Graphite that I found.  I'll play with it
> some.  Found a python version of GNUPlot.  Again I'll have to play
> with it.  Both look rather skimpy compared to matplotlib though.
>
> One serious alternative is a program called ChartDirector.  I am not
> sure of the licensing, but it looks like it would be ui-agnostic.  Has
> some wonderful feature rich charts though.
>
> I think that our best bet would be matplotlib given it's active
> development, rich interface, and GUI toolkit backend interfaces.
> Seems like it's come a long way since when I used it 6 months ago.
> Give me a few days to check everything out.
>
> Cheers,
>
> Nate L.
> >
> >
> > --
> > pkm ~ http://paulmcnett.com
> >
> >
> > _______________________________________________
> > Post Messages to: [email protected]
> > Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
> >
>

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev

Reply via email to