interactive property editor

Hi,

What's the status of interactive property editors for mpl graphs?

I would like something that would allow me to change properties such as the size and position of the graph, grids, scales, ranges, colors, symbols, line styles, fonts, etc., and add annotations. Some of this already exists, but allowing users to enter specific values will need an underlying widget toolkit.

Does anybody have anything that I can build on for wx?

Thanks,

   - Paul

Paul Kienzle wrote:

Hi,

What's the status of interactive property editors for mpl graphs?

I would like something that would allow me to change properties such as the size and position of the graph, grids, scales, ranges, colors, symbols, line styles, fonts, etc., and add annotations. Some of this already exists, but allowing users to enter specific values will need an underlying widget toolkit.

Does anybody have anything that I can build on for wx?

I though about making such a program but concluded it would be a major undertaking. I considered using GTK because that's what I use, but otherwise any toolkit will do. I still have some major unresolved design issues to implement such an application:

- How would the state of the editor be saved? In a new file type (in json for example)? Is there any standard format for this? If it was feasible I'd like to import and export small python scripts, but the import capabilities seem unlikely.

- Mpl is very flexible (just look at the gallery). Would the editor be limited to a subset of the capabilities or the objective would be to take mpl to the limit? Including subplots? and heterogeneous graphics? The interface could get very complex very quickly indeed.

- I seem to recall an open source graphics application along these lines, but can't remember its name (maybe SciGraphica).

If someone is working on such a thing, or if you want to make one I could tinker a bit, but I really don't have enough time to start a major application. BTW I'm not a mpl developer, just a satisfied user :slight_smile:

Regards,
Jo�o Silva

We've done some experiments with Enthought Traits at various times to address this issue. There were always various obstacles to making it work, but it may be worth another look. Traits has its nice auto-built property editors (that may address your request), but it would also address one of my long-standing niggles that properties of graphs are often checked far too late and the error messages presented to the user are very obscured because of it.

Of course, all that is a major undertaking -- basically rewriting all the getters and setters on the artist classes to use traits -- but I could see it having quite the payoff in the end.

Mike

Jo�o Lu�s Silva wrote:

···

Paul Kienzle wrote:
  

Hi,

What's the status of interactive property editors for mpl graphs?

I would like something that would allow me to change properties such as the size and position of the graph, grids, scales, ranges, colors, symbols, line styles, fonts, etc., and add annotations. Some of this already exists, but allowing users to enter specific values will need an underlying widget toolkit.

Does anybody have anything that I can build on for wx?

I though about making such a program but concluded it would be a major undertaking. I considered using GTK because that's what I use, but otherwise any toolkit will do. I still have some major unresolved design issues to implement such an application:

- How would the state of the editor be saved? In a new file type (in json for example)? Is there any standard format for this? If it was feasible I'd like to import and export small python scripts, but the import capabilities seem unlikely.

- Mpl is very flexible (just look at the gallery). Would the editor be limited to a subset of the capabilities or the objective would be to take mpl to the limit? Including subplots? and heterogeneous graphics? The interface could get very complex very quickly indeed.

- I seem to recall an open source graphics application along these lines, but can't remember its name (maybe SciGraphica).

If someone is working on such a thing, or if you want to make one I could tinker a bit, but I really don't have enough time to start a major application. BTW I'm not a mpl developer, just a satisfied user :slight_smile:

Regards,
Jo�o Silva

------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
  
--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA

I'm not sure if traits can do it.

I would like to see CSS-like properties, so that when I change the font size on the graph, the title, which is size +2, and the legend which is size -1 also get updated. I can imagine changing the font for an axes, for a figure or for all figures. The latter should be stored in a resource file so it doesn't have to be done every session. Properties which are not set should look up their values elsewhere; if the property of some object has been specialized, then it should not change when the figure properties are set. Properties for printed figures may be different from properties of figures on the screen, e.g., because the printer is monochrome.

Eventually I would like interactive editing of properties by point and click. Particularly for plotted data the question will be whether the change applies to the data point only, to its line, or to all lines on the graph, to all graphs on the figure, or to all figures, depending on the property. Doing this without cluttering the UI will be a challenge.

- Paul

···

On Mar 12, 2009, at 9:49 AM, Michael Droettboom wrote:

We've done some experiments with Enthought Traits at various times to
address this issue. There were always various obstacles to making it
work, but it may be worth another look. Traits has its nice auto-built
property editors (that may address your request), but it would also
address one of my long-standing niggles that properties of graphs are
often checked far too late and the error messages presented to the user
are very obscured because of it.

Of course, all that is a major undertaking -- basically rewriting all
the getters and setters on the artist classes to use traits -- but I
could see it having quite the payoff in the end.

Paul Kienzle wrote:

We've done some experiments with Enthought Traits at various times to
address this issue. There were always various obstacles to making it
work, but it may be worth another look. Traits has its nice auto-
built
property editors (that may address your request), but it would also
address one of my long-standing niggles that properties of graphs are
often checked far too late and the error messages presented to the
user
are very obscured because of it.

Of course, all that is a major undertaking -- basically rewriting all
the getters and setters on the artist classes to use traits -- but I
could see it having quite the payoff in the end.

I'm not sure if traits can do it.
  

Why not? Everything you describe below screams "traits" to me.

···

On Mar 12, 2009, at 9:49 AM, Michael Droettboom wrote:
I would like to see CSS-like properties, so that when I change the
font size on the graph, the title, which is size +2, and the legend
which is size -1 also get updated. I can imagine changing the font
for an axes, for a figure or for all figures. The latter should be
stored in a resource file so it doesn't have to be done every
session. Properties which are not set should look up their values
elsewhere; if the property of some object has been specialized, then
it should not change when the figure properties are set. Properties
for printed figures may be different from properties of figures on
the screen, e.g., because the printer is monochrome.

Eventually I would like interactive editing of properties by point
and click. Particularly for plotted data the question will be
whether the change applies to the data point only, to its line, or to
all lines on the graph, to all graphs on the figure, or to all
figures, depending on the property. Doing this without cluttering
the UI will be a challenge.