anyway, to cut my rant short, here is my vote for
> matplotlib development (not that I get a vote, but
> hopefully I'll have time to help out someday)
Hey, I live in Chicago -- we pioneered "vote early, vote often".
> 2) Improve the OO interface to make it just as easy to use.
Do you have some suggestions which would make the OO interface easier
to use? For concreteness, here is the archetypal OO script
from matplotlib.backends.backend_svg import FigureCanvasSVG
from matplotlib.figure import Figure
fig = Figure()
ax = fig.add_subplot(211)
canvas = FigureCanvasSVG(fig)
Things that leap to my mind:
* hide the complexity of having both a canvas and the figure from
the user, allowing them to deal only with figures, or at least
have the figure store a ref to its canvas and allow you to do
which can forward the call on to its canvas print_figure method.
This would bring the OO interface closer to the pylab interface
and would prevent you from having to remember which methods were
fig methods and which methods were canvas methods. We could also
provide a pylab independent factory function that instantiates a
figure and canvas with the relevant initialization, allowing you to
do something like
fig, canvas = figure_factory(*args, **kwargs) # use the current backend
but I'm not sure how advisable it is to hide this complexity
because what you ultimately do with the objects depends on whether
you are using a GUI backend or not. But for pure image backends
it would be possible to have a single OO interface which works
* move the (few) remaining pylab only methods (axis, colorbar) into
the OO framework for full compatibility
* use properties/traits so you could do
ax.xlabel = 'hi mom'
while retaining the setters and getters for backwards
* provide more pure OO examples in the examples directory
* significant;y expand the OO section of the user's guide
Do you have additional ideas? Or are these the issues your were thinking of?