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

Matplotlib绘制柱状图时出现shape mismatch错误求助

解决Matplotlib柱状图shape mismatch错误

问题原因

Matplotlib绘制柱状图时,要求x轴数据与y轴数据的长度完全匹配。你的代码中,x轴对应长度为20的key/num列表,但y轴使用了长度为5的np.array(nomarat),两者形状(20,)和(5,)不兼容,因此触发ValueError: shape mismatch: objects cannot be broadcast to a single shape。

解决方法

  • 修正数据长度匹配:
    检查nomarat的数据来源,确认是否是你需要与x轴对应的完整数据。如果是数据提取环节出错,调整逻辑让nomarat的长度变为20,与x轴数据一一对应。
  • 调整x轴数据适配y轴:
    若你确实只需要使用长度为5的y数据,截取x轴对应长度的元素即可,示例代码:
    # 截取key列表前5个元素匹配y轴长度
    x = key[:5]
    y = np.array(nomarat)
    plt.bar(x, y)
    plt.show()
    
  • 确认数据对应关系:
    确保每个x轴标签都有对应的y轴数值,避免因数据错位、截取错误导致的不匹配问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 19:15:35