`key_press_event`在python matplotlib FuncAnimation中不起作用

时间:2018-02-21 20:15:32

标签: python animation events matplotlib

我无法让FuncAnimation优雅地结束。我在带有anaconda 2.7 python的mac OS X环境中运行。在动画结束时,即使使用^ C,程序也会挂起。我必须关闭matplotlib窗口。

所以,我决定尝试按键,但即使使用下面的matplotlib示例也会发生同样的事情。

两个问题:1)如何优雅地结束FuncAnimation,以及2)如何让key_press_event工作?我已经包含了也挂起的matplotlib示例。

"""
Show how to connect to keypress events
"""
from __future__ import print_function
import sys
import numpy as np
import matplotlib.pyplot as plt


def press(event):
    print('press', event.key)
    sys.stdout.flush()
    if event.key == 'x':
        visible = xl.get_visible()
        xl.set_visible(not visible)
        fig.canvas.draw()

fig, ax = plt.subplots()

fig.canvas.mpl_connect('key_press_event', press)

ax.plot(np.random.rand(12), np.random.rand(12), 'go')
xl = ax.set_xlabel('easy come, easy go')
ax.set_title('Press a key')
plt.show()

0 个答案:

没有答案