matplotlib pyplot具有一个名为waitforbuttonpress()
的函数,该函数将根据在图形中是否接收到键盘或鼠标事件而返回True
或False
。
由于waitforbuttonpress()
会返回此类鼠标事件,即使用户使用常规图形工具(例如缩放)与图形进行交互,所以使用此功能的唯一方法如下:(假定缩放功能应该可用)
while not plt.waitforbuttonpress(): pass #ignore mouse events use by zomming ...
上面的内容将阻止直到按下键盘键(与鼠标事件相反,鼠标事件将被正常处理,例如缩放)
是否可以知道哪个键被按下,以区分不同的选择?
答案 0 :(得分:2)
我认为这不可能直接实现,但是您可以从key_press_event
获取密钥值,该值将与waitforbuttonpress()
同时触发:
import matplotlib.pyplot as plt
the_key = None
def press(event):
global the_key
the_key = event.key
plt.figure()
plt.plot([1, 4, 6])
plt.gcf().canvas.mpl_connect('key_press_event', press)
while not plt.waitforbuttonpress(): pass # ignore mouse events use by zomming ...
print("You pressed: ", the_key)