1from matplotlib.widgets import CheckButtons
2
3
4def set_legend_picker(fig, lines, legend):
5    lined = dict()
6    for legline, origline in zip(legend.get_lines(), lines):
7        legline.set_picker(5)
8        lined[legline] = origline
9
10    def onpick(event):
11        legline = event.artist
12        origline = lined[legline]
13        vis = not origline.get_visible()
14        origline.set_visible(vis)
15        if vis:
16            legline.set_alpha(1.0)
17        else:
18            legline.set_alpha(0.2)
19        fig.canvas.draw()
20
21    fig.canvas.mpl_connect('pick_event', onpick)
22