在Python中,给定一个N_1 x N_2 x N_3包含0或1 的矩阵,我将寻找一种以3D形式将数据显示为N_1 x N_2 x N_3体积为1s 的体积像素(体素)的方法。
例如,如果1s的坐标为[[1, 1, 1], [4, 1, 2], [3, 4, 1]],则所需的输出将如下所示
看来mplot3Dmatplotlib 的模块可以实现这一目标,但我还没有找到这种绘图的任何示例。有人知道解决此问题的简单解决方案吗?
在此先感谢您的帮助。
我已经审查了的这些线程,但我仍然在努力使从一个三维表面图numpy的排列x, y, z坐标。
我的数组如下所示:
>>> points
array([[ 322697.1875 , 3663966.5 , -30000. ],
[ 325054.34375 , 3663966.5 , -30000. ],
[ 325054.34375 , 3665679.5 , -30000. ],
[ 322697.1875 , 3665679.5 , -30000. ],
[ 322697.1875 , 3663966.5 , -27703.12304688],
[ 325054.34375 , 3663966.5 , -27703.15429688],
[ 325054.34375 , 3665679.5 , -27703.70703125],
[ 322697.1875 , 3665679.5 , -27703.67382812]])
Run Code Online (Sandbox Code Playgroud)
ax.plot_surface接受x, y, z点,所以我将上面的数组转换为下面的单独部分:
x = points[:, 0]
y = points[:, 1] …Run Code Online (Sandbox Code Playgroud)