gpt4 book ai didi

python - 如何在 mplot3d (matplotlib + python) 中获取所选对象的属性?

转载 作者:太空狗 更新时间:2023-10-29 21:37:59 24 4
gpt4 key购买 nike

我使用 mplot3d 绘制了一系列点:

import pylab as p
import mpl_toolkits.mplot3d.axes3d as p3

fig = p.figure()
ax = fig.add_subplot(111, projection='3d')

ax.scatter([1], [0], [0], c='r', marker='^', picker=5)
ax.scatter([0], [1], [0], c='g', marker='^', picker=5)
ax.scatter([0], [0], [1], c='b', marker='^', picker=5)

然后我添加一个选择器函数:

def onpick(event):
ind = event.ind
print ind

fig.canvas.mpl_connect('pick_event', onpick)

最后绘制它:

p.show()

有没有办法从我单击的标记获取 3D 坐标?到目前为止,我可以获得我在 ax.scatter() 中使用的列表中的点的索引,但是当我多次使用 ax.scatter() 时,这不会削减它时间,这必须是这样的(例如,我使用不同的颜色)。

问候

最佳答案

可以使用event.artist的_offsets3d属性获取坐标数据,然后使用ind获取拾取点:

def onpick(event):
ind = event.ind[0]
x, y, z = event.artist._offsets3d
print x[ind], y[ind], z[ind]

关于python - 如何在 mplot3d (matplotlib + python) 中获取所选对象的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10424517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com