## [Matplotlib-users] clabel manual

 [Matplotlib-users] clabel manual From: David Arnold - 2010-02-06 07:01:54 ```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. ```

 [Matplotlib-users] clabel manual From: David Arnold - 2010-02-06 07:01:54 ```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. ```
 Re: [Matplotlib-users] clabel manual From: Jae-Joon Lee - 2010-02-06 22:42:12 ```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 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@... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > ```
 Re: [Matplotlib-users] clabel manual From: David Arnold - 2010-02-06 22:52:13 ```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 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@... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> ```
 Re: [Matplotlib-users] clabel manual From: Jae-Joon Lee - 2010-02-06 22:58:50 ```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 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 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@... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> > > ```