Matplotlib ginput:不为按钮指定任何操作并显示点

时间:2016-07-14 10:41:48

标签: python matplotlib ginput

我有一个应该执行以下操作的脚本:
1)允许用户选择两个点(每个子图中一个)
2)让用户决定点是否足够准确

为此,我想使用ginput。但是,有两个问题:

1)我无法使用ginput将图像缩放或移动,只需单击即可将其注册。我的代码是:

fig = plt.figure()
ax1 = fig.add_subplot(121)
ax1.imshow(img[:,:,0])
ax2=fig.add_subplot(122)
ax2.imshow(img[:,:,1])
pts = plt.ginput(2, timeout=-1, mouse_add=3, mouse_stop=1, mouse_pop=2)

我想完全删除mouse_stop命令,即右键单击选择一个点,而中键单击则删除选定的点。我希望能够使用左键单击导航图。我试过了:

mouse_stop=None
mouse_stop=4

在这两种情况下,左键单击只是执行与右键单击相同的操作(即选择一个点)。关于如何不对左键分配任何动作的任何建议?

2)一旦选中,这些点就会消失。我希望能够绘制这些点,以便用户可以决定它们是否足够好(这是为了图像对齐目的,因此需要高精度)。我试过了:

ax1.plot(pts[0][0], pts[0][1])
ax2.plot(pts[1][0], pts[1][1])

但是,这似乎没有产生任何意义。有没有人对如何显示积分有任何建议?

编辑:如果有人有一个很好的,简单的解决方案,用于验证用户确实从每个子图中选择了一个点(而不是从其中一个中选择了两个),并且按照正确的顺序(从右到左),我我也非常感激:)

0 个答案:

没有答案