You need to enable JavaScript to run this app. Python二元概率密度函数归一化时ax.contour传入3D z报错问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

Python二元概率密度函数归一化时ax.contour传入3D z报错问题咨询

问题原因

你在给Norm1赋值时,是将xx、yy、归一化结果三个数组打包为了一个长度为3的元组。ax.contourf如果接收单个位置参数,会将该参数直接判定为待绘制的Z值数组,你传入整个元组时,matplotlib会自动将其转换为三维数组(形状为(3, 200, 200)),因此触发「Input z must be 2D, not 3D」的报错。
而你直接分开传xx, yy, 计算公式时,三个参数分别对应contourf要求的X坐标网格、Y坐标网格、Z值三个入参,所以可以正常运行。

修复方法

只需要在传入Norm1时用星号对元组做解包操作,就可以等价于分开传入三个参数,修改注释的那行代码即可:

cfs = ax.contourf(*Norm1, cmap = 'magma')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 13:15:07