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

Seaborn lineplot报错TypeError:参数问题排查及正确绘制方法

错误原因与修复方案

错误原因

Seaborn版本更新后,sns.lineplot()的参数规则发生变化:不再支持直接传入两个位置参数作为x、y数据,必须通过关键字参数x和y指定;另外,绘制水平线其实更适合用Matplotlib原生的plt.axhline(),而非Seaborn的lineplot(后者更适合展示数据间的关联趋势)。

修复方案

方案1:用plt.axhline()绘制绿色水平线(推荐)

这是最简洁的方式,直接指定y轴位置和样式:

fig = plt.figure(figsize = (12,6))
plt.scatter((y - y_pred), y_pred , color = 'red')
plt.axhline(y=0, color='r', linestyle=':')
# 绘制y=25的绿色水平线,x范围自动匹配当前轴的xlim
plt.axhline(y=25, color='g')
plt.ylim(0,50)
plt.xlim(-4,6)
plt.ylabel("Predictions")
plt.xlabel("Residual")
plt.title('Homoscedasticity Check')
plt.show()

方案2:修正lineplot()的参数写法

如果一定要用Seaborn的lineplot,需明确传入x和y关键字参数:

fig = plt.figure(figsize = (12,6))
plt.scatter((y - y_pred), y_pred , color = 'red')
plt.axhline(y=0, color='r', linestyle=':')
plt.ylim(0,50)
plt.xlim(-4,6)
# 用关键字参数指定x和y数据
p = sns.lineplot(x=[-4,6], y=[25,25], color='g')
plt.ylabel("Predictions")
plt.xlabel("Residual")
plt.title('Homoscedasticity Check')
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 09:22:08