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

Matplotlib绘制二维float64数组出现异常绘图结果问题求助

问题原因与解决方法

你的异常和数组的float64类型无关,核心问题是构造二维y数组时误用了reshape操作导致数据序列混乱。

错误点拆解

  • 两个单独的卡方分布序列chi2_2、chi2_5的形状均为(1000,)
  • 执行np.array((chi2_2, chi2_5))后得到的数组形状为(2, 1000),按行存储两个完整的分布序列
  • 直接调用.reshape(1000,2)时,Numpy会先将整个数组按行优先拉平为长度2000的一维序列,再逐行填充为1000行2列的结构,相当于把两个分布的数值交叉打乱,最终绘制的结果自然不符合预期。

修正方案

你需要的是将(2, 1000)的数组转置为(1000, 2),让每一列对应一个完整的分布序列,将y数组的构造代码替换为如下写法即可:

y = np.array((chi2_2, chi2_5)).T

修改后调用ax.plot(x, y)得到的绘图结果和分开调用两次plot的结果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:54:02