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 <tcasw...@gmail.com> 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 <mark...@gmail.com> 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
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to