如何在交互式绘图(Python)中用鼠标指向(x,y)位置?

nan*_*hos 5 python widget matplotlib cursor ipython-notebook

我使用ipython笔记本(具有魔力%matplotlib nbagg)。我正在查看,matplotlib.widget.Cursor但仅查看了widgets.Cursor光标。因此,我想选择两个点,在图中单击以获取初始和最终x,y位置(例如,时间与温度的关系,选择点必须返回初始和最终时间)。我需要它来手动选择任意间隔。我认为这与获取全局x,y位置相似,但是我在那篇文章中不太了解。

观察 类似于IDL中的CURSOR程序

Hag*_*gne 7

事件处理应该可以工作。

import matplotlib.pylab as plt
import numpy as np

f,a = plt.subplots()
x = np.linspace(1,10,100)
y = np.sin(x)
a.plot(x,y)
pos = []
def onclick(event):
    pos.append([event.xdata,event.ydata])
f.canvas.mpl_connect('button_press_event', onclick)
f.show()
Run Code Online (Sandbox Code Playgroud)

每次单击时,当前光标位置都会附加到 pos。