pick_event使用matplotlib得到一个点

时间:2017-07-11 12:21:17

标签: python matplotlib

我正在尝试使用pick_event通过鼠标点击直接访问点的确切值:

def plot(self, x_values: list, y_values: list):
    def pick_handler(event):
        x, y = event.mouseevent.xdata, event.mouseevent.ydata
        print(x, y)

    ...
    self.sc, = self.axis.plot(x_values, y_values, 'bo', markersize=7, picker=7)
    self.fig.canvas.mpl_connect('pick_event', pick_handler)
    ...

问题是我没有得到EXACT值,因为picker设置为7。 有没有办法在不计算最近点的情况下获取这些值?

谢谢!

1 个答案:

答案 0 :(得分:1)

当然,您不想知道鼠标的位置(event.mouseevent.xdata),而是要了解事件的索引(event.ind)以从艺术家中选择正确的值({{ 1}})被挑选。

你要求的是this example in the matplotlib event guide的一部分。

我只能引用它:

event.artist