matplotlib pyplot具有一个名为waitforbuttonpress()
的函数,该函数将根据在图形中接收到键盘还是鼠标事件来返回True
或False
。
由于即使用户使用常规图形工具(例如缩放)与图形进行交互,waitforbuttonpress()
也会返回此类鼠标事件,因此,使用此功能的唯一方法如下:(假定缩放功能应该可用)
while not plt.waitforbuttonpress(): pass #ignore mouse events use by zomming ...
上面的内容将阻止直到按下键盘键(与鼠标事件相反,鼠标事件将被正常处理,例如缩放)
有没有办法知道按下了哪个键,以区分不同的选择?
最佳答案
我不认为这是直接可能的,但是您可以从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)
关于python - 调用matplotlib pyplot waitforbuttonpress()时获取键值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56669721/