我有一大组(100+)256x256 标量 2D numpy 数组。每个阵列基本上是通过 3D 图像的切片,并且每个阵列都是均匀分离的。
我有点像 python 菜鸟......关于如何创建一个漂亮的 3d 数据可视化的任何提示?
我需要将 100 多个 2D 标量数组编译成更大的 3D 数组吗?
干杯!
我有一大组(100+)256x256 标量 2D numpy 数组。每个阵列基本上是通过 3D 图像的切片,并且每个阵列都是均匀分离的。
我有点像 python 菜鸟......关于如何创建一个漂亮的 3d 数据可视化的任何提示?
我需要将 100 多个 2D 标量数组编译成更大的 3D 数组吗?
干杯!
不完全确定您希望可视化效果如何?听起来有点像您想要可视化 4D 函数?
您可以在空间中创建一个 3D 网格(参见例如Numpy meshgrid in 3D),然后使用矩阵/矩阵数的值来为散点图中的点着色?
如果您可以详细说明您想看到的内容,可能会更具体。
编辑:
好吧,在您发表评论之后,这听起来仍然非常难以可视化,但我想您可以这样做(我已经生成了随机数据,并且大小比您要小得多)
import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
(X,Y,Z) = np.mgrid[-10:10:25j, -10:10:25j, -10:10:10j]
col = np.random.rand(25,25,10)
fig = plt.figure(1)
fig.clf()
ax = Axes3D(fig)
ax.scatter(X,Y,Z, c=col)
plt.draw()
plt.show()
导致
请注意,对于非随机数据,这可能没有那么无用。