Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从matplotlib图形获取方位角和仰角_Python_Numpy_Matplotlib_Python 2.x - Fatal编程技术网

Python 如何从matplotlib图形获取方位角和仰角

Python 如何从matplotlib图形获取方位角和仰角,python,numpy,matplotlib,python-2.x,Python,Numpy,Matplotlib,Python 2.x,我正在使用matplotlib.pyplot和numpy绘制一组三维点。使用鼠标旋转图像会在地物窗口底部生成方位角和仰角 如何通过编程获得这些值,以便在后续计算中使用它们,例如,当松开鼠标或单击屏幕上的按钮时 我正在使用python 2.7.5。我下面的代码应该可以说明这个问题 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D mol=np.random.ra

我正在使用
matplotlib.pyplot
numpy
绘制一组三维点。使用鼠标旋转图像会在地物窗口底部生成方位角和仰角

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

我正在使用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.azim
ax3d.elev

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

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()

缺少一些大括号:
projections.append((azim,elev))
。更改后,代码运行良好。没问题:)如果您觉得我的答案对您有帮助,您可以。