这并不是一个“在一个类似大小的箱子的球体上放置一个2Dgrid”的解决方案,因为我不太清楚你的意思,但我认为可视化你的数据可能会更好。在
如果可以获取方向数据(列出三维矢量)并对其进行规格化,则可以执行以下操作:import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
orientation = np.random.random((3,50))
weight = np.random.randint(100, size=50)
ax.scatter(orientation[0], orientation[1], zs= orientation[2], s=weight)
plt.show()
它将绘制代表标准化方向向量和每个方向的权重大小的点。在
另一种更复杂但更符合您最初想法的是matplotlib 3D plot教程中的片段:
^{pr2}$
你只需要计算一个颜色贴图,它是一个数组,表示在绘图的每个细分中存在的方向的加权密度,并将其作为颜色kwarg传递。
(我明天会调查的,但这应该能让你开始)