gpt4 book ai didi

python - 如何从 matplotlib 图形中获取方位角和仰角

转载 作者:太空宇宙 更新时间:2023-11-04 03:46:42 24 4
gpt4 key购买 nike

我正在使用 matplotlib.pyplotnumpy 绘制一组 3D 点。使用鼠标旋转图像会在图形窗口底部产生方位角和仰角。

如何以编程方式获取这些值,以便我可以在后续计算中使用它们,例如,当松开鼠标或单击屏幕上的按钮时。

我使用的是 python 2.7.5。我下面的代码应该可以说明问题。

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

mol=np.random.rand(6,3)*10.0

fig3d = plt.figure(figsize = ( 6.5, 6.5 ) )

fig3d.canvas.set_window_title('3D')

ax3d = fig3d.gca( projection='3d')

ax3d.scatter( mol[:,0], mol[:,1], mol[:,2], s=200)

plt.show()

最佳答案

下面是一些使用回调打印出当前方位角和仰角的代码,并将它们附加到列表中以备后用。这些详细信息分别保存在 ax3d.azimax3d.elev 中。

每次您释放鼠标按钮时,它都会调用on_click。这将允许您简单地将图表旋转到您选择的旋转角度,然后保存投影。

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

mol=np.random.rand(6,3)*10.0

fig3d = plt.figure(figsize = ( 6.5, 6.5 ) )

fig3d.canvas.set_window_title('3D')

ax3d = fig3d.gca(projection='3d')
ax3d.scatter(mol[:,0], mol[:,1], mol[:,2], s=200)

# List to save your projections to
projections = []

# This is called everytime you release the mouse button
def on_click(event):
azim, elev = ax3d.azim, ax3d.elev
projections.append((azim, elev))
print(azim, elev)

cid = fig3d.canvas.mpl_connect('button_release_event', on_click)

plt.show()

关于python - 如何从 matplotlib 图形中获取方位角和仰角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23424282/

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