我正在寻找一个图书馆。我有3D网格数据,我想用Python绘制。当我想绘制2D网格数据时,我使用matplotlib的matshow
:
from matplotlib.pylab import matshow, show
matshow(some_data)
show()
matshow example http://matplotlib.org/1.2.1/_images/matshow_00.png
但现在我有这种栅格数据的3D版本,我希望能够绘制堆叠在3D空间中的盒子(立方体)。理想情况下,这可以使用matplotlib解决,但我的猜测是解决方案将在不同的库中(希望是Anaconda中的东西)。
答案 0 :(得分:2)
如@Bas Jansen所述,您可以使用mayavi执行此操作,如下所示,
import mayavi.mlab as mlab
import numpy as np
ncubes = 12
x = np.arange(0,ncubes)
y = np.arange(0,ncubes)
z = np.arange(0,ncubes)
value = np.arange(0,ncubes)
mlab.points3d(x, y, z, value, mode='cube',scale_mode='none', scale_factor=1.0)
mlab.show()
您可能需要使用ipython --pylab=qt
打开脚本,以便窗口保持不变。结果是,
您可以在matplotlib
中执行此操作,可能使用修补程序对象构建多维数据集并根据需要为修补程序着色,但对于3D绘图,mayavi
通常更容易/更好。