Matplotlib 3D绘图触发ValueError:形状不匹配,请教问题原因
错误原因分析
这个ValueError的核心问题是参数形状不匹配:
- 你定义的
x、y、z、dx、dy都是长度为10的数组,对应要绘制10个3D柱状条。 - 但
dz = np.arange(1,100)生成的是包含99个元素的数组,每个柱状条需要对应一个高度值,10个柱子却提供了99个高度,两者无法一一对应,导致广播失败,触发形状不匹配的错误。
修正示例
把dz改成和其他参数长度一致的数组即可,比如:
dz = np.arange(1, 11) # 生成10个高度值,对应10个柱子
或者用随机值:
dz = np.random.randint(1, 20, size=10)
内容的提问来源于stack exchange,提问作者doughstone
相关产品推荐
相关产品推荐

