我正在尝试从一个点到另一个点创建一条线,如果单击它,它将从图中删除。我有一个创建一个简单线条的图,但由于某种原因,当点击它时,它不会被事件句柄'pick_event'拾取。这就是我所拥有的:
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax = fig.add_subplot(111, projection='3d')
x1 = 1
x2 = 2
y1 = 1
y2 = 1
z1 = 2
z2 = 2
ax.plot([x1, x2], [y1, y2], [z1, z2], linewidth=2)
def on_pick(event):
event.artist.set_visible(not event.artist.get_visible())
fig.canvas.draw()
fig.canvas.callbacks.connect('pick_event', on_pick)
plt.show()
这很简单,但基本上,我需要能够通过从一个点到另一个点给出x,y和z坐标来创建线条。为什么这条线不是拾取'pick_event'处理程序?
答案 0 :(得分:1)
我想,点击一条线然后设置选择器容差太难:
...
# set 5 points tolerance
ax.plot([x1, x2], [y1, y2], [z1, z2], linewidth=2, picker=5)
...