使用 matplotlib 表示体素

matplotlibpythondata visualization

在 3D 计算机图形学中,体素表示三维空间中规则网格上的值。我们可以说体素是 2D 中使用的像素的 3D 等价物。像素是二维图像中的正方形,在二维网格中具有位置和单一颜色值,而体素是三维模型中的立方体,在三维网格中具有位置和单一颜色值。

要使用 matplotlib 表示体素,我们可以采取以下步骤 −

步骤

  • 设置图形大小并调整子图之间和周围的填充。

  • 在 0 和 1 之间创建随机选择数据点。

  • 创建新图形或激活现有图形。

  • 使用 projection='3d' 获取当前轴,如有必要创建一个。

  • 使用绘制一组填充体素voxels() 方法。

  • 要显示图形,请使用 show() 方法。

示例

import numpy as np
import matplotlib.pyplot as plt

# 设置图形大小
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# 0 和 1 之间的随机数据点
data = np.random.choice([0, 1], size=(5, 7, 9), p=[0.65, 0.35])

# 创建新图形
fig = plt.figure()

# 轴3D 投影
ax = fig.gca(projection='3d')

# 绘制体素
ax.voxels(data, edgecolor="k", facecolors='green')

# 显示绘图
plt.show()

输出

它将产生以下输出 −


相关文章