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

如何预处理形状为(256,256,1)的三维numpy数组以绘制contourf等高线图

预处理操作说明

plt.contourf要求输入的压力值参数为二维数组,你现有形状为(256,256,1)的数组需要做以下几步处理:

  • 第一步:删除最后一维冗余维度
    最后一维长度为1,属于无效维度,直接用numpy的squeeze()方法压缩,得到形状为(256, 256)的二维压力值数组,即为contourf所需的Z参数。
    示例代码:
import numpy as np
# 假设原三维数组为raw_arr
pressure_Z = np.squeeze(raw_arr)
  • 第二步:生成X/Y坐标网格(按需选择)
    如果需要使用实际坐标值而非默认索引作为横纵轴,可通过np.meshgrid生成对应坐标网格:
# 示例:x、y范围为0-255的索引坐标
x_coords = np.arange(256)
y_coords = np.arange(256)
X, Y = np.meshgrid(x_coords, y_coords)

# 若有实际物理坐标范围,可替换为linspace生成
# x_coords = np.linspace(x_min, x_max, 256)
# y_coords = np.linspace(y_min, y_max, 256)
  • 第三步:调用绘图接口
    处理完成后可直接传入参数绘图:
import matplotlib.pyplot as plt
# 仅传压力值,用默认索引作为坐标
plt.contourf(pressure_Z)
# 若生成了坐标网格,传入对应X/Y/Z即可
# plt.contourf(X, Y, pressure_Z)
plt.show()

补充说明:如果最终绘图的坐标轴对应关系和预期相反,只需将压力值数组转置后传入即可:plt.contourf(pressure_Z.T)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 10:06:04