The above version has some typos (while it works it had some side-effects), here is the corrected one.
-JJ import matplotlib.blocking_input as blocking_input if blocking_input.BlockingMouseInput.add_click == blocking_input.BlockingContourLabeler.add_click: def mouse_event_stop(self, event ): blocking_input.BlockingInput.pop(self,-1) self.fig.canvas.stop_event_loop() def add_click(self, event): self.button1(event) def pop_click(self, event, index=-1): if self.inline: pass else: self.cs.pop_label() self.cs.ax.figure.canvas.draw() blocking_input.BlockingMouseInput.mouse_event_stop = mouse_event_stop blocking_input.BlockingContourLabeler.add_click = add_click blocking_input.BlockingContourLabeler.pop_click = pop_click On Sat, Feb 6, 2010 at 5:52 PM, David Arnold <dwarnol...@suddenlink.net> wrote: > JJ, > > Very nice repair, as this works precisely as it should. I use this tool in > Matlab all the time when teaching multivariable calculus. > > D. > > On Feb 6, 2010, at 2:41 PM, Jae-Joon Lee wrote: > >> This is a known bug, and I think I fixed it in the svn. Meanwhile, you >> may use the monkey patching. >> Insert these lines in your script (before you call clabel). >> >> Regards, >> >> -JJ >> >> >> import matplotlib.blocking_input as blocking_input >> def mouse_event_stop(self, event ): >> blocking_input.BlockingInput.pop(self,-1) >> self.fig.canvas.stop_event_loop() >> def add_click(self, event): >> self.button1(event) >> def pop_click(self, event, index=-1): >> if self.inline: >> pass >> else: >> self.cs.pop_label() >> self.cs.ax.figure.canvas.draw() >> >> blocking_input.BlockingMouseInput.mouse_event_stop = mouse_event_stop >> blocking_input.BlockingMouseInput.add_click = add_click >> blocking_input.BlockingMouseInput.pop_click = pop_click >> >> >> >> On Sat, Feb 6, 2010 at 2:01 AM, David Arnold <dwarnol...@suddenlink.net> >> wrote: >>> Hi, >>> >>> I'm trying to get manual labeling of contours to work: >>> >>> import numpy as np >>> import matplotlib.mlab as mlab >>> import matplotlib.pyplot as plt >>> >>> delta = 0.025 >>> x = np.arange(-3.0, 3.0, delta) >>> y = np.arange(-2.0, 2.0, delta) >>> X, Y = np.meshgrid(x, y) >>> Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0) >>> Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1) >>> # difference of Gaussians >>> Z = 10.0 * (Z2 - Z1) >>> >>> plt.figure() >>> CS = plt.contour(X, Y, Z, 6, >>> linewidths=np.arange(.5, 4, .5), >>> colors=('r', 'green', 'blue', (1,1,0), '#afeeee', '0.5') >>> ) >>> plt.clabel(CS, fontsize=9, inline=1, manual=True) >>> plt.title('Crazy lines') >>> >>> plt.show() >>> >>> On my macbook, clicking with the touchpad does not seem to work. >>> >>> Any ideas? >>> >>> David. >>> >>> ------------------------------------------------------------------------------ >>> The Planet: dedicated and managed hosting, cloud storage, colocation >>> Stay online with enterprise data centers and the best network in the >>> business >>> Choose flexible plans and management services without long-term contracts >>> Personal 24x7 support from experience hosting pros just a phone call away. >>> http://p.sf.net/sfu/theplanet-com >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Matplotlib-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> > > ------------------------------------------------------------------------------ The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users