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,而不必维持关于控制向上/向下的状态.
– 我在某个地方错过了一些更高级别的界面,修饰符才起作用?
– 或者那部分文档只适用于GTKAgg后端,当我一般使用TkAgg时?
– 也许是最近添加的修饰符支持,而不是我的matplotlib版本1.1.1rc?
解决方法:
看到上面的mmgp评论后,我尝试更新到存储库版本,git clone git://github.com/matplotlib/matplotlib.git等,它给了我1.3.x. Ubuntu 12.10中的版本回到了1.1.1rc.
问题在较新版本中得到解决,因此似乎只是支持修饰符是最近添加的情况.