如何在matplotlib中检测双击事件?

wim*_*wim 5 python events matplotlib double-click

import matplotlib.pyplot as plt

def onclick(event):
    print event.button

fig = plt.figure()
connection_id = fig.canvas.mpl_connect('button_press_event', onclick)
plt.show()
Run Code Online (Sandbox Code Playgroud)

使用这样的结构,我有双击命中onclick()处理程序三次的问题.我猜它正在接收点击次数和额外的双击事件.如何更改此行为,以便不会为双击事件触发事件处理程序?或者,或者,我如何从事件实例中检测它们,以便我可以忽略这些双击?

注意: button_release_event没有这个问题,但我想开火了button_press_event

小智 12

当我有matplotlib版本1.1rc时,我无法捕获dblclick事件.后来,我为matplotlib 1.2编写了代码,这没关系

import matplotlib.pyplot as plt
fig = plt.figure()
def onclick(event):
    if event.dblclick:
         print event.button

connection_id = fig.canvas.mpl_connect('button_press_event', onclick)
plt.show()
Run Code Online (Sandbox Code Playgroud)