You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于Numpy数组构建3维张量并绘制对应结构示意图

核心问题说明

  1. ax.scatter()要求输入的x、y、z三个参数数组形状完全一致,你当前生成的row、col为5×5结构,layer为3×2结构,形状不匹配所以触发运行报错。
  2. scatter是散点绘制接口,仅能绘制对应坐标的离散点,无法生成你需要的立方体式三维张量结构。

正确实现方案

使用matplotlib的voxels接口绘制三维体素结构,完美匹配张量的可视化需求,示例代码如下:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm

# 定义张量的维度:行、列、层数量,可根据实际需求修改
ROW_CNT = 5
COL_CNT = 5
LAYER_CNT = 3

# 生成三维体素网格,所有位置默认显示(值为True)
voxels = np.ones((ROW_CNT, COL_CNT, LAYER_CNT), dtype=bool)

# 生成坐标网格
x, y, z = np.indices(voxels.shape)

# 按层设置不同颜色,方便区分张量的不同层
colors = np.empty(voxels.shape, dtype=object)
for layer in range(LAYER_CNT):
    colors[:, :, layer] = cm.get_cmap('viridis')(layer / LAYER_CNT)

# 绘制张量结构
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.voxels(x, y, z, voxels, facecolors=colors, edgecolor='white')

# 设置坐标轴标签
ax.set_xlabel('行')
ax.set_ylabel('列')
ax.set_zlabel('层')

plt.show()

效果说明

运行代码后会生成分层的三维立方体张量结构,和你需要的示例图效果一致,你可以拖拽画布旋转查看不同视角,若需要展示张量内部的数值,可以将数值映射到对应体素的颜色透明度或色值上即可。

内容的提问来源于stack exchange,提问作者AdemxKartal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 10:18:01