All, I am curious why this doesn't work:
# linebuilder.py import matplotlib.pyplot as plt class LineBuilder: def __init__(self, line): self.line=line self.xs=list(line.get_xdata()) self.ys=list(line.get_ydata()) self.cid=line.figure.canvas.mpl_connect('button_press_event', self) def __call__(self, event): print 'click', event if event.inaxes != self.line.axes: print event.inaxes print self.line.axes return self.xs.append(event.xdata) self.ys.append(event.ydata) self.line.set_data(self.xs, self.ys) self.line.figure.canvas.draw() fig=plt.figure() ax=fig.add_subplot(111) ax.set_title('click to build line segments') line, =ax.plot([0], [0]) plt.show() linebuilder=LineBuilder(line) However, if I put the plt.show() on the last line, it works. Can anyone explain? David. ------------------------------------------------------------------------------ SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW http://p.sf.net/sfu/solaris-dev2dev _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users