我想使用matplotlib进行交互式绘图。我训练了一个神经网络来近似分布,我想手动查看它是否正确。 因此,一旦计算完成,我想:
将鼠标鼠标悬停在窗口上。指针后面应该有一个点(plt.scatter)
获取鼠标坐标并将其发送到我的网络
使用网络输出,更改点的颜色
我可以效仿任何线索?
谢谢!!
答案 0 :(得分:0)
Matplotlib有一个通用事件处理API,它适用于所有GUI后端,记录为here。您想要的事件称为" motion_notify"。
这是一个例子(运行它并在绘图窗口周围移动鼠标 - 鼠标信息将在终端中打印):
#!/usr/bin/env python3
from matplotlib import pyplot as plt
import numpy as np
fig, ax = plt.subplots()
ax.plot(np.random.rand(10))
def onmotion(event):
print('%s dblclick: button=%s, x=%s, y=%s, xdata=%s, ydata=%s' %
(event.dblclick, event.button,
event.x, event.y, event.xdata, event.ydata))
cid = fig.canvas.mpl_connect('motion_notify_event', onmotion)
plt.show()
如果您将matplotlib嵌入到GUI框架中,那么您应该使用框架的API。