I've been playing with matplotlib a couple of weeks
> now. That nasty memory leak was starting to turn me off,
> and then got fixed right on cue! I've had a hell of a
> time finding a good plotting system to replace BLT, so
> that was a relief.
There have been some additional memory leak fixes since 0.54.2. Glad
we could keep you on board!
> Anyhow, I noticed my titles overwriting the x axes of
> adjacent subplots, and so I wrote a little function that
> shifts subplots around. That's not terribly interesting,
> but I have a compulsive habit of making everything I do
> as general as possible. The result is a system for
> controlling figure layout based on six parameters, three
> for each axis. As well as a rather elaborate demo. The
> basic demo was done in an hour, but I couldn't leave well
> enough alone!
Ahh, just the kind of developer we need....
> I tried to get the docstrings right, but haven't checked
> them. I also included a mathematical derivation at the
> end of the file, and I don't know what the documentation
> scripts will make of that.
> There's no error checking. None should be needed, as long
> as all the parameters are numeric. Some curious results
> are very possible, but nothing breaks.
> If you find the documentation and API (and whatever else)
> worthy, you can include it in the next release/current
> CVS if you think it appropriate.
I really liked your demo. So much that I think we should include it
into the distribution and incorporate versions of your widgets for
each backend. I think we should have a button on the standard toolbar
that launches your dialog box. I can do the one for GTK - perhaps you
or Todd would like to incorporate your changes into backend_tkagg so
that a toolbar button launches the dialog box you wrote.
It would also be nice to add checkboxes for turning off y tick labels
for all but the first column and turning off x tick labels for all but
the last row.
Any takers for doing the wx version?
Another question: what would happen if your code were run on non
subplot axes, eg with those examples/axes_demo.py?
A word of warning: in your demo code, you define a function set.
There is a matplotlib.matlab function with the same name...
Oh, and if the user wants to shift individual subplots
> around, that function is still present.