From: Eric F. <ef...@ha...> - 2015-01-27 17:19:47
|
On 2015/01/27 6:51 AM, Mark wrote: > ginput works fine in a GUI window, but there is no matplotlib widget > where I can type text or numbers in a box. Like the FloatTextWidget in > IPython. Or am I missing something? I think you are correct. John Hunter explicitly avoided the temptation to keep adding backend-independent widgets to mpl; we have a hard enough time trying to maintain and improve the plotting capabilities without trying to turn mpl into a wxwidgets work-alike. If you need more than the very minimal widgets presently on offer, you have to choose a gui toolkit and use it directly, embedding matplotlib in it. Eric > > Sent from my iPhone > > On Jan 27, 2015, at 17:34, Paul Hobson <pmh...@gm... > <mailto:pmh...@gm...>> wrote: > >> I'm 99% sure you can do this in a GUI window. Does your solution have >> to be in the notebook? >> >> On Tue, Jan 27, 2015 at 12:37 AM, Mark Bakker <ma...@gm... >> <mailto:ma...@gm...>> wrote: >> >> Thanks, Tom. >> >> I want to use ginput to draw a straight line on a graph. >> The line is used to select a cross-section of a contour plot. >> >> I was afraid it wasn't going to be easy. >> >> Getting to it from the other side, is there a matplotlib widget in >> the works where I can type text or numbers in a box? Like >> the FloatTextWidget in IPython? >> >> Problem is I want to make a small GUI that includes both a text >> widget (which is available in IPython) and a 'select points in >> graph' widget like ginput in matplotlib. >> >> Mark >> >> >> On Mon, Jan 26, 2015 at 11:47 PM, Thomas Caswell >> <tca...@gm... <mailto:tca...@gm...>> wrote: >> >> nbagg is always running in the IPython event loop (as I >> understand it), so I am not sure how to integrate that with >> the blocking. >> >> On the 1.4.x/master branch we have support for (almost, one PR >> still pending) all mouse and keyboard events so all of the mpl >> widgets should work (big thanks to Steven Silvester). T >> >> What do you want to use that relies on ginput? >> >> You can fake up a non-blocking version something like: >> >> from collections import deque >> ``` >> class accumulator(object): >> def __init__(self, n=5): >> self.list_of_points = deque(maxlen=n) >> def on_event(self, event): >> self.list_of_points.append(event) >> >> import matplotlib >> import itertools >> import numpy as np >> matplotlib.use('nbagg') >> import matplotlib.pyplot as plt >> plt.close('all') >> fig, ax = plt.subplots() >> x = np.linspace(0,10,10000) >> y = np.sin(x) >> ln, = ax.plot(x,y) >> >> dd = accumulator(15) >> fig.canvas.mpl_connect('button_press_event', dd.on_event) >> plt.show() >> ``` >> >> and then get the points by >> >> ``` >> dd.lest_of_points >> ``` >> >> This code obviously needs lots of bells and whistles, but >> points in the right direction. >> >> Tom >> >> On Mon Jan 26 2015 at 2:45:45 PM Mark Bakker >> <ma...@gm... <mailto:ma...@gm...>> wrote: >> >> Hello List, >> >> Are there any plans to make ginput work in the nbagg backend? >> >> It would be so cool if I could use that in an IPython >> Notebook together with the other widgets. >> >> Thanks, >> >> Mark >> ------------------------------__------------------------------__------------------ >> >> >> >> ------------------------------------------------------------------------------ >> Dive into the World of Parallel Programming. The Go Parallel Website, >> sponsored by Intel and developed in partnership with Slashdot >> Media, is your >> hub for all things parallel software development, from weekly thought >> leadership blogs to news, videos, case studies, tutorials and >> more. Take a >> look and join the conversation now. http://goparallel.sourceforge.net/ >> _______________________________________________ >> Matplotlib-devel mailing list >> Mat...@li... >> <mailto:Mat...@li...> >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> >> > > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming. The Go Parallel Website, > sponsored by Intel and developed in partnership with Slashdot Media, is your > hub for all things parallel software development, from weekly thought > leadership blogs to news, videos, case studies, tutorials and more. Take a > look and join the conversation now. http://goparallel.sourceforge.net/ > > > > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > |