Python 中的 3D 网格图
3D Gridded Plots in Python
我在找图书馆。我有 3D 网格数据,我想使用 Python 绘制。当我想绘制 2D 网格化数据时,我使用 matplotlib 的 matshow
:
from matplotlib.pylab import matshow, show
matshow(some_data)
show()
但现在我有了这种栅格数据的 3D 版本,我希望能够绘制 3D 堆叠的框(立方体)space。理想情况下,这可以使用 matplotlib 解决,但我的猜测是解决方案将在不同的库中(希望在 Anaconda 中)。
如@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
打开脚本,以便 window 持续存在。结果数字是,
您可以在 matplotlib
中执行此操作,可能使用补丁对象构建立方体并根据需要为补丁着色,但是对于 3D 绘图,mayavi
通常是 easier/better。
我在找图书馆。我有 3D 网格数据,我想使用 Python 绘制。当我想绘制 2D 网格化数据时,我使用 matplotlib 的 matshow
:
from matplotlib.pylab import matshow, show
matshow(some_data)
show()
但现在我有了这种栅格数据的 3D 版本,我希望能够绘制 3D 堆叠的框(立方体)space。理想情况下,这可以使用 matplotlib 解决,但我的猜测是解决方案将在不同的库中(希望在 Anaconda 中)。
如@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
打开脚本,以便 window 持续存在。结果数字是,
您可以在 matplotlib
中执行此操作,可能使用补丁对象构建立方体并根据需要为补丁着色,但是对于 3D 绘图,mayavi
通常是 easier/better。