I have just started to think about this, and would
> appreciate any thoughts on how to approach the problem of
> interacting with data in the plot window. It seems like it
> might involve some pretty significant time and effort.
Have you seen examples/poly_editor.py
It shows you how to interactive add, delete and move vertices of a
polygon and can be used across backends (try launching the script with
-dTkAgg, -dGTKAgg etc),
The basic approach is to define a PolygonInteractor which is
initialized with a matplotlib.patches.Polygon and does all the event
connection and interaction for you. The idea is to define an
Interactor for the import primitive objects (TextInteractor,
Line2DInteractor, etc) and then put these in an interactor module for
There are other examples, not yet perfected (some edge and pixel
artifacts), which allow you to interactively create rectangles, move
them around and resize (grab on the corner and drag) using the
animation blit techniques. I could dig them up if you are interested.
Another thing that is probably of general interest that I've been
talking to Charlie about off list is to develop a lasso tool for
selecting multiple objects.