【发布时间】:2013-01-15 13:49:54
【问题描述】:
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)的按键事件处理程序感兴趣。 This 部分文档提到了对修饰符的一些支持。但是当我使用上面的代码时,我看不到这种行为。
我宁愿避免手动处理修饰符来维护有关这些按键/释放事件的状态;例如,我希望能够轻松区分 a 和 ctrl+a ,而不必保持关于控制向上/向下的状态。
-我是否在某处缺少某些更高级别的界面,而修饰符只能在其中起作用?
- 或者当我通常使用 TkAgg 时,文档的那部分可能仅适用于 GTKAgg 后端?
- 也许对修饰符的支持可能是最近添加的,但不在我的 matplotlib 1.1.1rc 版本中?
【问题讨论】:
-
添加
matplotlib.use('TkAgg')(使用matplotlib 1.2)后在osx下对我来说很好。 -
相关的提交在github.com/pelson/matplotlib/commit/…。因此,解决此问题的一种简单方法是检查版本的发布日期并与此提交的日期进行比较。
标签: python event-handling matplotlib modifier