From: Paul H. <pmh...@gm...> - 2015-01-27 16:35:05
|
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...> 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...> > 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...> 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... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > |