在Mac OS X上使用键盘关闭pyplot图

hou*_*oft 16 python matplotlib osx-mavericks

有没有办法使用键盘关闭OS X中的pyplot数字(据我所知,你只能通过点击窗口关闭按钮关闭它)?

我尝试了很多关键组合,比如command-Q,command-W和类似的组合,但它们都没有在我的系统上运行.

我也试过这个代码贴在这里:

#!/usr/bin/env python

import matplotlib.pyplot as plt

plt.plot(range(10))

def quit_figure(event):
    if event.key == 'q':
        plt.close(event.canvas.figure)

cid = plt.gcf().canvas.mpl_connect('key_press_event', quit_figure)

plt.show()
Run Code Online (Sandbox Code Playgroud)

但是,上述内容在OS X上也不起作用.我尝试将print语句添加到quit_figure,但似乎从未调用过.

我正在尝试使用最新的公共OS X,matplotlib版本1.1.1以及OS X(2.7.3)附带的标准Python.有想法该怎么解决这个吗?每次必须触及鼠标是非常烦人的.

hou*_*oft 15

这绝对是pyplot使用的默认OS X后端中的一个错误.在文件顶部添加以下两行会切换到适合我的不同后端,如果这有助于其他任何人.

import matplotlib
matplotlib.use('TKAgg')
Run Code Online (Sandbox Code Playgroud)


Dan*_*van 13

我通过替换解决了这个问题

plt.show()
Run Code Online (Sandbox Code Playgroud)

plt.show(block=False)
input("Hit Enter To Close")
plt.close()
Run Code Online (Sandbox Code Playgroud)

最好的黑客攻击,但我希望能有所帮助