On Thu, Mar 1, 2012 at 3:31 PM, Andrea Gavana <andrea.gavana@gmail.com> wrote:
On 1 March 2012 21:37, Benjamin Root wrote:
> On Wed, Feb 29, 2012 at 4:02 PM, Federico Ariza <ariza.federico@gmail.com>
> wrote:
>> Dear all
>> I am a long time matplotlib user  (under linux) but new to the list
>> (second post).
>> On of the things that bothers me the most is the inability of the standard
>> backend to change simple things (line color, labels, etc...).
> There was a feature a couple of us were hacking on a while back that would
> allow for live switching between color and black&white modes.  Is this sort
> of stuff what you are speaking of?  The changes were too invasive to be
> included, but it was an interesting experiment.

I thought the OP's original question was something like the Matlab
"plot editor" (or whatever is its name), which allows you to edit line
colours, styles, gridlines styles, this kind of stuff on a "live" plot
(mind you, it's been 6 years since I used Matlab for the last time and
I may have forgotten what the "plot editor" does).

Anyway, if I am not completely off-track, this is something I had been
looking for as well in matplotlib a while back (3, 4 years ago), but
at that time I was told it would have been complicated to implement it
for all the "live" backend (I can't recall the exact reason).

Actually, it isn't that complicated, if you restrict yourself to a subset of mpl.  I can't imagine being able to modify "any and all" aspects of a figure, such as transforms or filters, but certainly could modify various artists, for the most part.  Also, this shouldn't be a "backend" in the same sense that GTKAgg is a backend.  Merely a very advanced collection of widgets.

Also, in many sense, this actually already has been done.  It is called "Inkscape".  Just save your figures as svg and edit them in Inkscape. (I know, it is a cop-out.)

I would say that, at least for the backends based on wxPython, this
kind of modify-the-live-plot-via-GUI-interaction should be relatively
straightforward, at least for the GUI part and for the basics (line
styles, colours, markers and so on). However I am not sure what are
the implications on the core matplotlib code.

Just about everything displayed is an "Artist" and therefore there is a uniform, standard interface for all of them.  Widgets could still intelligently interact with subclassed Artists as well.  There is nothing preventing that from happening.

Ben Root