Matplotlib "pick_event"无法使用 FigureCanvasTkAgg 在嵌入式图形中工作



我试图处理一些事件来执行用户交互嵌入子图到一个Tkinter框架。像下面这个例子

可以与"key_press_event"one_answers"button_press_event"一起工作,但不能与"pick_event"一起工作

我修改了链接中的示例,只是在mpl_connect调用之后添加了以下代码片段:

def on_button_press(event):
    print('you pressed mouse button')
canvas.mpl_connect('button_press_event', on_button_press)
def on_pick(event):
    print('you picked:',event.artist)
canvas.mpl_connect('pick_event', on_pick)

为什么"pick_event"不能嵌入图形?怎么让它工作呢?

我的配置详细:

    Windows 10
  • Python 3.5 (conda版本)
  • Matplotlib 1.5.3通过pip安装

提前感谢!

好了,我解决了…

大多数事件我们只需要使用mpl_connect方法就可以神奇地发生。我的错误在于,我没有注意到我们需要明确地说我们的情节是"可选择的",并将参数picker=True设置为仅在点击艺术家时才触发事件,而在picker=x中,x是一个整数,表示触发的像素公差。因此,除了在问题中为pick插入的更改之外,我们还应该替换

对于a.plot(t, s,picker=True)a.plot(t, s,picker=10)

a.plot(t, s),例如

最新更新