Hi all,

Is it possible to restrict the mouse movements to the points of a graph (curve tracking) ?

So far I am able to obtain the location of the mouse in data coordinates if the mouse is over an axes.

A code snippet is attached.

Thanks in advance.

                            Nils
from pylab import plot, show, connect, xlabel, ylabel, legend, xlim, ylim
from numpy import linspace, sin, pi, empty

def find_minima(x):
  minima = empty((len(x),),dtype=bool)
  dx=x[1:]-x[:-1]
  minima[1:-1]=(dx[:-1]<=0) & (dx[1:]>=0)
  #handle endpoint s
# minima[0]=dx[0]>=0
# minima[-1]=dx[-1]<=0
  return minima



x = linspace(0,3*pi,200)
y = sin(x)
plot(x,y,'r.',label=r'$\sin(x)$')

minima = find_minima(-y)
plot(x[minima],y[minima],'ko',label='maxima')
legend()
def on_move(event):
#
#   Connect to the mouse move event and print the location of the mouse
#   in data coordinates if the mouse is over an axes
#
    x,y = event.x, event.y
    if event.inaxes:
        print 'data coords', event.xdata, event.ydata
#connect('motion_notify_event', on_move)

def click(event):
    x,y = event.x, event.y
    if event.inaxes:
        print 'you clicked', event.xdata, event.ydata

connect('button_press_event',click)

xlim(0,3*pi+0.1)
ylim(-1.1,1.1)
show()
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to