Here are my reasons to add the button, just to add to the discussion:
I've written two applications so far that embed matplotlib, and in both
I felt that the relimit button was missing: In one, there are always
lines added and removed and I often need to reset the plot limits, and
in the second one I do in fact change the line's data so that I want to
relimit occasionally. For that last application it is also important
that the zoom level remains the same, unless I really want to change it,
therefore the button and no automatic relimiting when lines are removed
or data are changed. In both applications the toolbar is most useful for
navigation in the plots, so please don't forget the people who embed
matplotlib when you design the toolbar...
A menu would be great, it could for example be used in cases where the
toolbar would be out of place. For embedding, it would not be so
important to have a cross-platform interface for customization: After
all, you're stuck with one toolkit anyway... As far as I can tell about
wxpython, it is no problem to add anything to the toolbar afterwards.
Maybe one could implement a "feature bitmap" in the constructor to turn
specific buttons on or off.
I'm just wondering if there are use cases for customization during
interactive use, where it should definitely be cross-platform.
Am Montag, den 27.09.2010, 15:42 -0700 schrieb butterw:
a few comments:
One possible limitation of the proposed relim code is that it doesn't take
into account whether the lines are set visible or not. But otherwise it is
a useful function for interactive use, which incidentally is the way I use
matplotlib the most.
Is there any reason why matplotlib doesn't have an optional additional
menubar ? You could fit far more commands than in a toolbar.
btw as demonstrated by the qt4_editor it is not difficult to implement a
line properties dialog in matplotlib.
A feature-set that MATLAB has and is missing from matplotlib is editing the
plot via the GUI. You can actually remove lines from the plot without typing
anything in the interpreter. I think it is via a line properties menu, but
maybe you can also get there by right-clicking the line and choosing delete
(can't recall, I'll have to check).
If/when we add support for such things in mpl, the relimit button would
become much more useful.
Until we have that, I think JDH's idea for cross-GUI configurable toolbars
is a better target to aim for.