我开发了一个代码,其中绘制了散点,单击特定的散点后,我可以使用text3d添加文本/标签。但是现在我想使用回调从该图上的任何点恢复或检索该数据on_mouse_pick并在控制台中打印该数据。我想要这个在Mayavi/Mayavi2中。这可能吗?
这是
来自 http://docs.enthought.com/mayavi/mayavi/auto/example_select_red_balls.html 的例子。
glyphs = mlab.points3d(x, y, z, s, colormap="RdYlBu", scale_factor=1, scale_mode='none')
glyph_points = glyphs.glyph.glyph_source.glyph_source.output.points.to_array()
print(len(s))
def picker_callback(picker):
if picker.actor in glyphs.actor.actors:
point_id = picker.point_id//glyph_points.shape[0]
if point_id != -1:
print("{}:".format(point_id))
print("({} {} {}) ".format(x[point_id],y[point_id],z[point_id]))
picker = figure.on_mouse_pick(picker_callback)
mlab.show()
希望对sb有所帮助,在数组中获取点索引的划分非常有趣;)