seaborn 的 lmplot 的输出没有绘制散点图和线性回归

Posted

技术标签:

【中文标题】seaborn 的 lmplot 的输出没有绘制散点图和线性回归【英文标题】:Output of seaborn's lmplot does not plot a scatterplot and linear regression 【发布时间】:2020-03-07 08:12:45 【问题描述】:

第一次在 *** 上提问。

我在使用 seaborn 的 lmplot 时遇到了问题。

清理后我的数据集很简单,如下所示:image of data set

我正在尝试创建一个具有线性回归的 facetgrid 散点图(这是 lmplot 的用途),使用:

col 的站名(dtype 对象) x 轴的年份(dtype 整数) y 轴的月总计(dtype 整数)

看起来像这样:lmplot example from seaborn

下面是我的代码,我期待一个类似于上面示例的散点图 + 回归。

ridership_year = ridership_mg.groupby(['stationame', 'year']).monthtotal.sum().reset_index()
sns.lmplot(x = 'year', y = 'monthtotal', col ='stationame', data= ridership_year, col_wrap = 5)

但是,图形输出是这样的: seaborn lmplot image

我可以做些什么来纠正这种情况?提前感谢您的帮助!

【问题讨论】:

您的意思是改用regplot 吗? 嘿,欧内斯特,绝对不是。我希望使用不同的站名作为 col 来制作 facetgrid,并对所有站名进行线性回归。应该使用 lmplot 的东西。 在这种情况下,您可能想花更多的时间在输出的问题上,因为根本不知道您的数据,很难看出问题所在。 嘿,感谢您的意见。我已经用更多信息编辑了帖子 似乎唯一的问题是 x 轴的比例?所以如果你放大它应该没问题。 【参考方案1】:

lmplot 中有一个名为 truncate 的参数,它将图形边界限制为数据。感谢您的帮助!

截断:布尔值,可选

默认情况下,绘制回归线以填充 x 轴范围 绘制散点图后。如果 truncate 为 True,它将改为 受数据限制。

sns.lmplot(x = 'year', y = 'monthtotal', col = 'stationame',
          data = ridership_year, truncate = True,
          col_wrap = 5)

【讨论】:

以上是关于seaborn 的 lmplot 的输出没有绘制散点图和线性回归的主要内容,如果未能解决你的问题,请参考以下文章

Seaborn使用lmplot函数可视化散点图并添加回归曲线以及回归线对应的置信区间(Scatter plot with regression line)

Python使用matplotlib可视化散点图使用seaborn中的lmplot函数可视化不同分组散点图的最优线性回归拟合曲线(Scatter plot with regression line)

Python使用matplotlib可视化散点图使用seaborn中的lmplot函数使用多子图可视化不同分组的散点图最优拟合线性回归曲线

Seaborn使用lmplot函数可视化散点图并添加回归曲线移除默认的回归曲线置信区间(Scatter plot with regression lineRemove CI band)

将类似日期时间的对象传递给 seaborn.lmplot

如何使用`lmplot`绘制没有截距的线性回归?