Hi all,
I have a plot of data that I am enabling the user to interact with.
That is, I want them to be able to pick a point, and then have a new
plot pop up in a different figure showing more info about that point.
So, looking through the manual and the tutorial I have taken the code
from one of the examples and am trying to modify it to work for my
needs. Here's what I have so far:
field = arrange(-1,1.25,0.25)
CA = cellArray() # this is an object defined elsewhere.
Ij = # a list of 2d arrays of data
def state_picker(line, mouseevent):
if mouseevent.xdata is None:
return False, dict()
xdata = line.get_xdata()
ydata = line.get_ydata()
maxd = 0.1
d = nx.sqrt((xdata - mouseevent.xdata)**2. + (ydata -
mouseevent.ydata)**2.)
ind = nx.nonzero(nx.less_equal(d, maxd))
if len(ind):
out = dict(ind=ind)
return True, out
else:
return False, dict()
def onpick2(event,cellArray,Ij):
Ij = Ij[event.ind] # chose the list element from Ij
corresponds to the point selected by the user
cellArray.plot('flux',inputIj=Ij) # the cellArray object has
its own plot method that requires these two arguments
fig = figure()
ax1 = fig.add_subplot(111)
ax1.set_title('Energy States vs. Applied Flux per cell')
for i in range(len(field)):
# energy is a list of arrays of different length
ax1.plot(field[i]*ones(len(energy[i])),energy[i],'.b',
picker = state_picker)
ax1.set_xlim(-1.1,1.1)
ax1.set_xlabel('Applied Flux per cell')
ax1.set_ylabel('Array Energy (Ej)')
fig.canvas.mpl_connect('pick_event', onpick2)
show()
The problem I'm having is that I can't seem to pass extra arguments to
either state_picker or onpick2. Can I?
thanks for your help,
trevis
________________________________________________
Trevis Crane
Postdoctoral Research Assoc.
Department of Physics
University of Ilinois
1110 W. Green St.
Urbana, IL 61801
p: 217-244-8652
f: 217-244-2278
e: [EMAIL PROTECTED]
________________________________________________
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users