如何在交互式绘图中使用鼠标获取(x,y)坐标位置(Python)?

8
我使用ipython笔记本(带有魔法代码%matplotlib nbagg)。我正在查看matplotlib.widget.Cursor,但光标仅在widgets.Cursor中查看。因此,我想选择单击绘图中的两个点,并获得初始和最终的x,y位置(例如时间与温度,选择两个点必须返回初始和最终时间)。我需要它来手动选择任意间隔。我认为这类似于获取全局x,y位置,但我在那篇文章中没有理解好。
如何在交互式绘图(Python)中使用鼠标指向一个(x,y)位置?
注:类似于IDL中的CURSOR过程。
1个回答

6

事件处理应该能够正常工作。

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()

每次点击时,当前光标位置会被追加到pos中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接