On Tue, Feb 24, 2009 at 9:53 AM, <jas...@cr...> wrote:
> A few weeks ago, Fernando pointed out the new canvas backend to gnuplot:
>
> http://skuld.bmsc.washington.edu/~merritt/gnuplot/canvas_demos/
>
> See also:
> http://www.nabble.com/New-terminal-driver%3A----set-term-canvas-tc21364389.html
>
> Is there anyone that has worked on anything similar in matplotlib, i.e.,
> a backend that would provide the interactive features of the GUI
> backends in a web browser? Over in the Sage project, we are very
> interested in something like this. While I can't volunteer at the
> moment to write something like a canvas backend for matplotlib (or maybe
> an interactive svg backend using javascript as well), I'm interested in
> working on this as I have time. We also might have other people in the
> Sage project interested in working on this, though we'd have to come up
> to speed on implementing a matplotlib backend first.
The starting place for implementing a backend is
matplotlib/backends/backend_template.py which has instructions on how
to proceed, which methods need to be overridden, etc. Navigation
will be a bit trickier for an html5 backend because we have only
implemented navigation for traditional GUI canvases so far.
Navigation is enabled by connecting up the backend native events to
the backend_bases.FigureCanvasBase events (button_press_event, etc).
matplotlib.backends.backend_bases.NavigationToolbar2 glues everything
together, so you might need to hack a custom html NavigationToolbar2
subclass, as we do for each GUI backend. Should be interesting! I
don't think anyone on our side has done anything with this yet, though
Charlie Moad did do an AJAZ enabled Turbogears mpl backend at one
point...