On Mon, Aug 3, 2009 at 11:38 PM, Gökhan Sever<gokhanse...@gmail.com> wrote: > Hello, > > I was wondering if it is possible to hide some data on figures using a say > right click option to any of the legend entry and make it temporarily > hidden/visible to better analyse the rest of the data? > > Check this screenshot for example: > > http://img25.imageshack.us/img25/9427/datahiding.png > > The red data clutters the rest of the figure, and I would like to be able to > hide it temporarily so that I can investigate the other two relations more > easily. > > Any ideas? or alternative solutions?
It's a nice idea, and should be doable with the pick interface we have for all mpl artists. Unfortunately, there were a few problems in the legend implementation which blocked the pick events from hitting the proxy lines they contained. I just made a few changes to mpl svn HEAD to support this, and added a new example. examples/event_handling/legend_picking.py which I'll include below. JJ could you review the changes to legend.py? Instructions for checking out svn are at:: http://matplotlib.sourceforge.net/faq/installing_faq.html#install-from-svn Here is the example: """ Enable picking on the legend to toggle the legended line on and off """ import numpy as np import matplotlib.pyplot as plt t = np.arange(0.0, 0.2, 0.1) y1 = 2*np.sin(2*np.pi*t) y2 = 4*np.sin(2*np.pi*2*t) fig = plt.figure() ax = fig.add_subplot(111) line1, = ax.plot(t, y1, lw=2, color='red', label='1 hz') line2, = ax.plot(t, y2, lw=2, color='blue', label='2 hz') leg = ax.legend(loc='upper left', fancybox=True, shadow=True) leg.get_frame().set_alpha(0.4) lines = [line1, line2] lined = dict() for legline, realine in zip(leg.get_lines(), lines): legline.set_picker(5) # 5 pts tolerance lined[legline] = realine def onpick(event): legline = event.artist realline = lined[legline] vis = realline.get_visible() realline.set_visible(not vis) fig.canvas.draw() fig.canvas.mpl_connect('pick_event', onpick) plt.show() ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users