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

Matplotlib绘制双回归线时出现重复图例,求原因解析

图例重复的常见诱因及解决办法
  • 核心诱因:数据维度不符
    你代码里的x2或y_hat大概率是二维数组(多列结构)。Matplotlib的plot函数如果接收二维数组,会自动把每一列当作一条独立曲线绘制,且每条曲线都会带上你设置的label='OLS regression line',最终图例就会重复显示。

  • 验证方式
    在绘图代码前添加两行打印数据形状的代码,确认维度:

    print("x2的形状:", x2.shape)
    print("y_hat的形状:", y_hat.shape)
    

    如果输出结果里第二个数值大于1(比如(100,2)),就可以确定是维度问题导致的重复图例。

  • 解决办法
    将二维数据转为一维后再绘图,可使用ravel()或flatten()方法:

    ax.plot(x2.ravel(), y_hat.ravel(), '-g', label='OLS regression line')
    

    如果你明确只需要数组中的某一列,也可以直接索引取列,比如x2[:,0]、y_hat[:,0]。

另外,重复调用绘图代码也可能导致这个问题,但从你给出的代码来看只调用了一次OLS线的绘图命令,这个概率极低。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 18:51:01