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

绘制正态分布直方图时频率恒为1的问题及钟形图实现求助

解决直方图频率恒为1的问题

问题根源在于你生成的数据维度:npr.normal(0,2,(1,100)) 创建的是二维数组(形状为(1,100)),而plt.hist处理二维数组时,会将每一行/列视为独立数据集绘制直方图。你的数组仅1行,每个数据点被当作单独数据集,导致每个bin最多只有1个数据,频率自然全为1。

解决方法只需将数据转为一维数组,两种实现方式:

  • 生成数据时直接指定一维形状:
x = npr.normal(0, 2, 100)  # 直接生成100个元素的一维数组
plt.hist(x, bins=10)
plt.show()
  • 对已生成的二维数组做扁平化处理:
x = npr.normal(0, 2, (1, 100))
plt.hist(x.flatten(), bins=10)  # 用flatten()将二维数组转为一维
plt.show()

处理后就能得到呈现正态分布钟形的直方图。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 19:55:18