From: Andrea G. <and...@gm...> - 2010-03-02 23:57:40
|
Hi All, I believe this question has been already asked in the past (I found something at http://old.nabble.com/A-good,-interactive-plotting-package-td15396445.html). I use matplotlib extensively in our applications, and some of my users repetitively asked for a way to customize *in runtime* the plots my apps generate. I.e., the app brings up a figure with a bunch of lines, points and texts, and they would like to change this linewidth, the colour of that point, the appearance of an axis, the legend keys and so on. I am currently answering "it can't be done at the moment" :-D. It is obviously not true, it just require some (a lot, maybe) work. Now, I know nothing about the other backends, but I know something about wx and I believe it is doable. Obviously, if my job was software programming and not reservoir engineering I would already have given it a try, but unfortunately we only get 24 hours per day... I don't think anything like this already exists, but it's an innocent question and I hope I won't be kicked for asking :-D . If someone knows about a possible/existing implementation, or even a start of an implementation, please let me know. Thank you. Andrea. "Imagination Is The Only Weapon In The War Against Reality." http://xoomer.alice.it/infinity77/ http://thedoomedcity.blogspot.com/ |
From: Gökhan S. <gok...@gm...> - 2010-03-03 00:19:02
|
On Tue, Mar 2, 2010 at 5:57 PM, Andrea Gavana <and...@gm...>wrote: > Hi All, > > I believe this question has been already asked in the past (I > found something at > http://old.nabble.com/A-good,-interactive-plotting-package-td15396445.html > ). > > I use matplotlib extensively in our applications, and some of my users > repetitively asked for a way to customize *in runtime* the plots my > apps generate. I.e., the app brings up a figure with a bunch of lines, > points and texts, and they would like to change this linewidth, the > colour of that point, the appearance of an axis, the legend keys and > so on. I am currently answering "it can't be done at the moment" :-D. > It is obviously not true, it just require some (a lot, maybe) work. > > Now, I know nothing about the other backends, but I know something > about wx and I believe it is doable. Obviously, if my job was software > programming and not reservoir engineering I would already have given > it a try, but unfortunately we only get 24 hours per day... > > I don't think anything like this already exists, but it's an innocent > question and I hope I won't be kicked for asking :-D . If someone > knows about a possible/existing implementation, or even a start of an > implementation, please let me know. > > Thank you. > > Andrea. > > "Imagination Is The Only Weapon In The War Against Reality." > http://xoomer.alice.it/infinity77/ > http://thedoomedcity.blogspot.com/ > > Hello, I can list three ways to interact with active plots: 1-) Using keyboard shortcuts: Changing scaling using "k" and "l" keys are my favorite. See more at http://matplotlib.sourceforge.net/users/navigation_toolbar.html 2-) Using the interactive navigation toolbar and with a small extension written by Pierre Raybaut (on Qt4Agg backend) For a screenshot see http://img156.imageshack.us/img156/9210/mplqtextra.png This is open to development. Actually many of the command line mpl interface could be integrated into that window. 3-) Directly from within IPython shell. That's another useful way of updating figure properties (e.g. adding labels, changing font) IPython and matplotlib are very well integrated in that manner. Similarly, Mayavi does a great job of integrating shell and UI. -- Gökhan |
From: Andrea G. <and...@gm...> - 2010-03-03 21:31:41
|
Hi, On 3 March 2010 00:18, Gökhan Sever wrote: > > > On Tue, Mar 2, 2010 at 5:57 PM, Andrea Gavana <and...@gm...> > wrote: >> >> Hi All, >> >> I believe this question has been already asked in the past (I >> found something at >> >> http://old.nabble.com/A-good,-interactive-plotting-package-td15396445.html). >> >> I use matplotlib extensively in our applications, and some of my users >> repetitively asked for a way to customize *in runtime* the plots my >> apps generate. I.e., the app brings up a figure with a bunch of lines, >> points and texts, and they would like to change this linewidth, the >> colour of that point, the appearance of an axis, the legend keys and >> so on. I am currently answering "it can't be done at the moment" :-D. >> It is obviously not true, it just require some (a lot, maybe) work. > > I can list three ways to interact with active plots: > > 1-) Using keyboard shortcuts: Changing scaling using "k" and "l" keys are > my favorite. See more at > http://matplotlib.sourceforge.net/users/navigation_toolbar.html > > 2-) Using the interactive navigation toolbar and with a small extension > written by Pierre Raybaut (on Qt4Agg backend) For a screenshot see > http://img156.imageshack.us/img156/9210/mplqtextra.png > This is open to development. Actually many of the command line mpl interface > could be integrated into that window. > > 3-) Directly from within IPython shell. That's another useful way of > updating figure properties (e.g. adding labels, changing font) IPython and > matplotlib are very well integrated in that manner. Similarly, Mayavi does a > great job of integrating shell and UI. Only the second approach slightly resembles what I have in mind. Navigating the plot using shortcuts and the MPL toolbars is less than 1% of what you can do to customize a MPL plot. Asking a user who knows nothing about Python (or programming in general) to use the IPython shell to modify the plot in runtime is unrealistic at best. The second approach looks interesting (pity it's been done using Qt, but then, the world is not perfect either...). I could use some of that code to build something that looks like a *beginning* of a possible customization of plots (using THE GUI toolkit). I thought this issue could have been important, as any other 2D/3D plotting toolkits (commercial and not commercial) have some (or a lot) of ability to customize their plots once they have been generated... Andrea. "Imagination Is The Only Weapon In The War Against Reality." http://xoomer.alice.it/infinity77/ http://thedoomedcity.blogspot.com/ |
From: François B. <fra...@un...> - 2010-03-04 11:17:05
Attachments:
francois_beaubert.vcf
|
Andrea Gavana a écrit : > Only the second approach slightly resembles what I have in mind. > Navigating the plot using shortcuts and the MPL toolbars is less than > 1% of what you can do to customize a MPL plot. Asking a user who knows > nothing about Python (or programming in general) to use the IPython > shell to modify the plot in runtime is unrealistic at best. > > The second approach looks interesting (pity it's been done using Qt, > but then, the world is not perfect either...). I could use some of > that code to build something that looks like a *beginning* of a > possible customization of plots (using THE GUI toolkit). I thought > this issue could have been important, as any other 2D/3D plotting > toolkits (commercial and not commercial) have some (or a lot) of > ability to customize their plots once they have been generated... > > Andrea. > Jeremy Sanders initially developed Veusz as backend to Matplotlib but this branch was temporarily abandoned to restart recently. Matplotlib is THE reference library for scientific graphics under python and Veusz is also an EXCELLENT GUI app for scientific graphics. I think that Veusz+Matplolib could considerably widen their fields of application and theirs user's community if Matplotlib was used as a backend by default. This had already been spoken in veusz's mailing list and after these exchanges a new experimental branch (based on Matplotlib) was born. IMHO Matplotlib has now the object-orientated structure to easily use it for this purpose. Furthermore it now has 3d support as well as quiver plot and much more to offer. https://mail.gna.org/public/veusz-discuss/2009-04/msg00005.html https://code.launchpad.net/veusz/experimental You could also see what Pierre Raybaut has already done with Spyder http://code.google.com/p/spyderlib/ Regards Francois |