保存Jupyter Notebook的点击事件

时间:2018-01-13 18:14:42

标签: python matplotlib jupyter-notebook

我在远程服务器上使用Jupyter Notebook(使用ssh)。我正在使用matplotlib,我想保存坐标以注释图片以绘制边界框 我用过:

collector = []
def onclick(event):
    global i, collector
    collector.append((event.xdata, event.ydata))
    # Open the annotations file to continue to write
    target = open('annotation.txt', 'a')
    # Write picture and coordinates
    target.write(line)
    target.write("\n")
    i += 1
    event.canvas.figure.clear()
    event.canvas.figure.gca().imshow(images[i])

fig = plt.figure(figsize=(5,5))
fig.canvas.mpl_connect('button_press_event', onclick)

plt.imshow(images[0])
plt.show()

但是,我不知道为什么,但它似乎不再起作用了。有人知道在Jupyter Notebook上保存点击事件的解决方案吗? 非常感谢你提前。

1 个答案:

答案 0 :(得分:1)

您可能正在使用%matplotlib inline后端,它不支持任何类型的事件(因为它会生成简单的png图像)。为了使用交互式元素和事件,您需要使用%matplotlib notebook后端。这意味着你应该放行

%matplotlib notebook
在你的笔记本前面的某个地方。