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

能否在Seaborn的lmplot中添加多条不同阶数的拟合曲线?

在同一张图中叠加Seaborn不同阶数的拟合曲线

因为lmplot是Figure级别的绘图函数,每次调用都会创建新画布,无法直接叠加曲线。你可以改用Axes级别的regplot函数,它支持在同一坐标轴上多次绘制不同阶数的拟合线,具体实现如下:

import seaborn as sns
import matplotlib.pyplot as plt

# 加载数据集
tips = sns.load_dataset("tips")

# 创建画布和坐标轴
fig, ax = plt.subplots()

# 绘制1阶拟合曲线,设置颜色和标签
sns.regplot(x="total_bill", y="tip", order=1, ci=None, truncate=True, 
            data=tips, ax=ax, color="blue", label="Order 1")

# 绘制5阶拟合曲线,设置颜色和标签
sns.regplot(x="total_bill", y="tip", order=5, ci=None, truncate=True, 
            data=tips, ax=ax, color="red", label="Order 5")

# 添加图例
ax.legend()

# 显示图形
plt.show()

关键说明:

  • regplot和lmplot核心功能一致,但前者是Axes级函数,可通过ax参数指定绘图的坐标轴,因此能在同一轴上叠加多条曲线。
  • 用color参数区分曲线颜色,label参数定义图例文本,最后调用ax.legend()生成图例。
  • 保留了你原代码中的ci=None(不显示置信区间)和truncate=True(截断拟合线至数据范围)参数,确保效果与原绘图一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 07:00:55