Python 缩放事件上的Matplotlib图例选择器未更新

Python 缩放事件上的Matplotlib图例选择器未更新,python,matplotlib,Python,Matplotlib,下面的代码隐藏/显示了一行。然而,当我放大时,它似乎不起作用。传奇需要以某种方式刷新吗 fig, ax = plt.subplots(2,1, sharex=True) ax[0].grid(True) ax[0].set_title(date) lines1 = ax[0].plot(x, y) ax[1].set_xlabel('time') ax[1].grid(True) lines2 = ax[1].plot(x2, y2) leg1 = fig.legend(lines1, h

下面的代码隐藏/显示了一行。然而,当我放大时,它似乎不起作用。传奇需要以某种方式刷新吗

fig, ax = plt.subplots(2,1, sharex=True)

ax[0].grid(True)
ax[0].set_title(date)
lines1 = ax[0].plot(x, y)

ax[1].set_xlabel('time')
ax[1].grid(True)
lines2 = ax[1].plot(x2, y2)

leg1 = fig.legend(lines1, header1, 'upper left')
leg2 = fig.legend(lines2, header2, 'lower left')

lined = dict()
for legline, origline in zip(leg1.get_lines(),lines1):
    legline.set_picker(5)
    lined[legline] = origline
for legline, origline in zip(leg2.get_lines(),lines2):
    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)

显然你需要再次点击缩放按钮。这里提到:


您是否介意在实际结果以及与预期结果的差异上多说几句话?我目前看不出问题。当显示绘图时,单击图例上的项目时会触发onpick事件。一旦我使用matplotlib的缩放功能,然后再次单击图例上的项目,它不会再次触发onpick事件。