Note that there are some explanatory texts on larger screens.

plurals
  1. POMatplotlib demo code not working
    text
    copied!<p>I am trying to run demo code from Matplotlib: the <a href="http://matplotlib.sourceforge.net/examples/event_handling/legend_picking.html" rel="nofollow">legend_picking example</a>.</p> <p>This code is supposed to hide and show plot lines when the legend is clicked.</p> <p>It seems that event 'pick_event' is not fired when I click on the line on the legend. I have no problem with the <a href="http://matplotlib.sourceforge.net/users/event_handling.html" rel="nofollow">simple picking example</a></p> <pre><code>""" # 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) ax.set_title('Click on legend line to toggle line on/off') 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) # we will set up a dict mapping legend line to orig line, and enable # picking on the legend line lines = [line1, line2] lined = dict() for legline, origline in zip(leg.get_lines(), lines): legline.set_picker(5) # 5 pts tolerance lined[legline] = origline def onpick(event): # on the pick event, find the orig line corresponding to the # legend proxy line, and toggle the visibilit legline = event.artist origline = lined[legline] vis = not origline.get_visible() origline.set_visible(vis) # Change the alpha on the line in the legend so we can see what lines # have been toggled if vis: legline.set_alpha(1.0) else: legline.set_alpha(0.2) fig.canvas.draw() fig.canvas.mpl_connect('pick_event', onpick) plt.show() </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload