如何在mtcars数据集的重量vs油耗散点图(数据分散)中添加最佳拟合线?
给mtcars散点图添加最佳拟合线的几种实用方法
嘿,刚好我常处理这类可视化需求,给你分享两种适配你现有代码的方案,简单好上手:
方法一:和基础R绘图无缝衔接
你已经用基础R画出了散点图,只需要两步就能补上线性最佳拟合线:
- 先拟合油耗和重量的线性回归模型:
# 建立mpg(油耗)~ wt(重量)的线性回归模型 fit_model <- lm(mpg ~ wt, data = mtcars) - 在已生成的散点图上叠加拟合线:
要是你想查看拟合的详细统计信息(比如R²值、系数显著性),直接打印模型就行:# 用abline()绘制拟合线,col设置颜色,lwd调整线宽让线条更醒目 abline(fit_model, col = "darkred", lwd = 2)summary(fit_model)
方法二:用ggplot2绘制(更灵活的可视化选择)
如果你愿意试试R中最流行的ggplot2包,代码逻辑更直观,后续调整样式也更方便:
# 先加载ggplot2包(没安装的话先运行install.packages("ggplot2")) library(ggplot2) ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point() + # 绘制散点 geom_smooth(method = "lm", se = FALSE, color = "darkred", linewidth = 2) + # 添加线性拟合线,se=FALSE可去掉置信区间 labs(x = "Weight", y = "Milage", title = "Weight vs Milage") + # 设置坐标轴标签和图标题 xlim(2.5, 5) + ylim(15, 30) # 匹配你原来的坐标轴范围
如果需要保留置信区间,把se=FALSE改成se=TRUE即可,默认会显示浅灰色的置信带。
内容的提问来源于stack exchange,提问作者Bustergun
相关产品推荐
相关产品推荐

