On Wed, Sep 23, 2009 at 3:27 PM, butterw <butt...@gmail.com> wrote:
>
> Hi,
>
> pickers work great to make matplotlib plots more interactive/general user
> friendly.
>
> On the subject of the legend_picker.py example, I was wondering if it was
> possible to combine both a legend picker and a line picker in the same plot.
> From what I gather they will both use the same onpick event callback.
>
> So my question is : How do I discriminate between a pick on the legend from
> a pick on a line ? The event.artist is a line2D in both cases.

As demonstrated in the above example, leg.get_lines() gives you the
list of lines inside the legend. The list of original lines is kept in
ax.lines.
So, you can check in which list the given artist is.

Regards,

-JJ

>
>
>
>
>
>
> John Hunter-4 wrote:
>>
>> 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
>>
>>
>
> --
> View this message in context: 
> http://www.nabble.com/Hiding-data-via-legend-tp24802219p25531267.html
> Sent from the matplotlib - users mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
> http://p.sf.net/sfu/devconf
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to