Python matplotlib轴进入退出事件不工作?

Python matplotlib轴进入退出事件不工作?,python,events,matplotlib,axes,Python,Events,Matplotlib,Axes,matplotlib示例中的这段代码不能像我预期的那样工作。进入/退出轴不会触发任何事件。只需点击 在轴的内部/外部,您可以获得进入/离开事件。这就是我们想要的行为吗?蟒蛇3号,OSX """ Illustrate the figure and axes enter and leave events by changing the frame colors on enter and leave """ import matplotlib.pyplot as plt def enter_axe

matplotlib示例中的这段代码不能像我预期的那样工作。进入/退出轴不会触发任何事件。只需点击 在轴的内部/外部,您可以获得进入/离开事件。这就是我们想要的行为吗?蟒蛇3号,OSX

"""
Illustrate the figure and axes enter and leave events by changing the
frame colors on enter and leave
"""
import matplotlib.pyplot as plt


def enter_axes(event):
    print('enter_axes', event.inaxes)
    event.inaxes.patch.set_facecolor('yellow')
    event.canvas.draw()


def leave_axes(event):
    print('leave_axes', event.inaxes)
    event.inaxes.patch.set_facecolor('white')
    event.canvas.draw()


def enter_figure(event):
    print('enter_figure', event.canvas.figure)
    event.canvas.figure.patch.set_facecolor('red')
    event.canvas.draw()


def leave_figure(event):
    print('leave_figure', event.canvas.figure)
    event.canvas.figure.patch.set_facecolor('grey')
    event.canvas.draw()

fig1, (ax, ax2) = plt.subplots(2, 1)
fig1.suptitle('mouse hover over figure or axes to trigger events')

fig1.canvas.mpl_connect('figure_enter_event', enter_figure)
fig1.canvas.mpl_connect('figure_leave_event', leave_figure)
fig1.canvas.mpl_connect('axes_enter_event', enter_axes)
fig1.canvas.mpl_connect('axes_leave_event', leave_axes)

fig2, (ax, ax2) = plt.subplots(2, 1)
fig2.suptitle('mouse hover over figure or axes to trigger events')

fig2.canvas.mpl_connect('figure_enter_event', enter_figure)
fig2.canvas.mpl_connect('figure_leave_event', leave_figure)
fig2.canvas.mpl_connect('axes_enter_event', enter_axes)
fig2.canvas.mpl_connect('axes_leave_event', leave_axes)

plt.show()

这在窗户下很好用。也许这是Mac电脑的问题。您可以尝试其他后端:
import matplotlib;matplotlib.use(“TkAgg”)
。是的,它与TkAgg一起工作。