from matplotlib.widgets import CheckButtons def set_legend_picker(fig, lines, legend): lined = dict() for legline, origline in zip(legend.get_lines(), lines): legline.set_picker(5) lined[legline] = origline def onpick(event): legline = event.artist origline = lined[legline] vis = not origline.get_visible() origline.set_visible(vis) if vis: legline.set_alpha(1.0) else: legline.set_alpha(0.2) fig.canvas.draw() fig.canvas.mpl_connect('pick_event', onpick)