如果您想手動定義該行,則可以使用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)