【Seaborn】sns.regplot() 函数: 回归拟合散点图

sns.regplot() —— 回归拟合散点图(Regression Plot)

seaborn.regplot() 用于绘制 带回归拟合线(Regression Line)散点图(Scatter Plot),适用于 探索数值变量之间的关系,并查看 趋势或相关性


1. 语法

import seaborn as sns

sns.regplot(data=None, x=None, y=None, scatter=True, fit_reg=True, ci=95, color=None, line_kws=None)

主要参数

参数作用
dataDataFrame 数据集
xX 轴数值变量
yY 轴数值变量
scatter是否绘制散点(默认 True
fit_reg是否绘制回归线(默认 True
ci置信区间(默认 95%
color颜色
line_kws控制回归线样式(如 {"color": "red", "linewidth": 2}

2. 基本用法

2.1 画回归拟合散点图

import seaborn as sns
import matplotlib.pyplot as plt

# 加载数据
data = sns.load_dataset("penguins")

# 绘制回归拟合散点图
sns.regplot(data=data, x="flipper_length_mm", y="body_mass_g")

plt.title("Penguin Flipper Length vs Body Mass")
plt.show()

📌 说明

  • x="flipper_length_mm"企鹅的鳍长
  • y="body_mass_g"企鹅体重
  • 蓝色阴影区域95% 置信区间
    在这里插入图片描述

2.2 关闭置信区间

sns.regplot(data=data, x="flipper_length_mm", y="body_mass_g", ci=None)

plt.show()

📌 ci=None 关闭置信区间,仅显示回归线。
在这里插入图片描述


2.3 仅显示回归线(去掉散点)

sns.regplot(data=data, x="flipper_length_mm", y="body_mass_g", scatter=False)

plt.show()

📌 作用

  • scatter=False 只显示趋势线(适用于大数据量)。
    在这里插入图片描述

3. 进阶用法

3.1 按类别分类(huesns.lmplot() 代替)

regplot() 不支持 hue,如果要按类别区分颜色,需要用 lmplot()

sns.lmplot(data=data, x="flipper_length_mm", y="body_mass_g", hue="species")

plt.show()

📌 hue="species" 不同种类不同颜色
在这里插入图片描述


3.2 调整回归线颜色

sns.regplot(data=data, x="flipper_length_mm", y="body_mass_g", line_kws={"color": "red", "linewidth": 2})

plt.show()

📌 作用

  • line_kws={"color": "red", "linewidth": 2} 调整回归线颜色和粗细
    在这里插入图片描述

3.3 多项式回归(order 参数)

regplot() 默认是 线性回归,可以通过 order 进行 多项式回归

sns.regplot(data=data, x="flipper_length_mm", y="body_mass_g", order=2)

plt.show()

📌 order=2 进行二次回归拟合(曲线回归)。
在这里插入图片描述


3.4 仅部分数据(truncate=False

sns.regplot(data=data, x="flipper_length_mm", y="body_mass_g", truncate=False)

plt.show()

📌 作用

  • truncate=False 让回归线延伸到 X 轴范围外
    在这里插入图片描述

4. sns.regplot() vs sns.lmplot()

sns.regplot()sns.lmplot()
hue 分类❌ 不支持✅ 支持
适用场景单个回归分析多个类别回归
适用于统计分析、EDA分类别对比回归

5. 总结

sns.regplot() 适用于 查看两个数值变量的回归趋势
常见参数

  • scatter=False 只显示回归线,ci=None 取消置信区间。
  • order=2 多项式回归truncate=False 让回归线延伸。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彬彬侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值