如果您想手动定义该行,则可以使用geom_segment
而不是geom_abline
。如果您的斜率来自您绘制的数据集,最简单的方法是使用stat_smooth
和method = "lm"
。
下面是一些玩具数据的示例:
set.seed(16)
x = runif(100, 1, 9)
y = -8.3 + (1/1.415)*x + rnorm(100)
dat = data.frame(x, y)
估计截距和斜率:
coef(lm(y~x))
(Intercept) x
-8.3218990 0.7036189
首先使积与geom_abline
用于比较:
ggplot(dat, aes(x, y)) +
geom_point() +
geom_abline(intercept = -8.32, slope = 0.704) +
xlim(1, 9)
使用geom_segment
相反,必须定义行fo的开始和结束r均为x
和y
。确保x轴上的线条在1和9之间被截断。使用stat_smooth
。这将仅在默认情况下在解释变量的范围内绘制线条。
ggplot(dat, aes(x, y)) +
geom_point() +
stat_smooth(method = "lm", se = FALSE, color = "black") +
xlim(1, 9)