4
import matplotlib
import matplotlib.pyplot as plt
print matplotlib.__version__
print plt.get_backend()

def key_event(e):
  print e.key

fig = plt.figure()
fig.canvas.mpl_connect('key_press_event', key_event)
plt.show()

我对 matplotlib/pyplot 中带有修饰符(例如 Ctrl、Alt、Shift)的按键事件处理程序感兴趣。 部分文档提到了对修饰符的一些支持。但是当我使用上面的代码时,我看不到这种行为。

我宁愿避免必须手动处理修饰符来维护有关这些按键/释放事件的状态;例如,我希望能够轻松区分actrl+ a,而不必保持关于控制向上/向下的状态。

-我是否在某个地方错过了一些更高级别的界面,修改器在哪里起作用?
- 或者当我通常使用 TkAgg 时,文档的那部分可能只适用于 GTKAgg 后端?
-也许对修饰符的支持可能是最近添加的,但不在我的 matplotlib 1.1.1rc 版本中?

4

1 回答 1

4

在看到上面的 mmgp 评论后,我尝试更新到存储库版本git clone git://github.com/matplotlib/matplotlib.git等,这给了我 1.3.x。Ubuntu 12.10 中的版本回到 1.1.1rc。

该问题在较新的版本中得到了解决,因此对修饰符的支持似乎只是最近添加的情况。

于 2013-01-16T13:09:22.553 回答