如何使用斜率和截距来限制ggplot2中abline的长度?

我如何使用斜率和截距将abline的长度限制在1985年至1990年之间。我知道geom_segment但它不需要斜率和拦截。 这里是我的数据和脚本如何使用斜率和截距来限制ggplot2中abline的长度?

> dput(df) 

structure(list(year = c(1979, 1980, 1981, 1982, 1983, 1984, 1985,

1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,

1997, 1998), value = c(7.33, 10.32, 11.65, 6.19, 8.3, 9.24, 8.13,

9.94, 10.85, 11.37, 7.17, 9.18, 11.24, 11.38, 8.32, 9.29, 7.48,

8.63, 10.17, 8.94)), .Names = c("year", "value"), row.names = c(NA,

-20L), class = c("tbl_df", "tbl", "data.frame"))

脚本

plt <- ggplot(df, aes(year, value)) + 

geom_line() +

geom_abline(aes(slope = 0.00225, intercept = 4.85100), colour = "red", lty = "dashed")

plt

回答:

只需使用geom_segment。计算给定x端点和斜率和截距的y端点是微不足道的。

xs = c(1985, 1990) 

beta = c(4.851, .00225)

ys = cbind(1, xs) %*% beta

... +

geom_segment(aes(x = xs[1], xend = xs[2], y = ys[1], yend = ys[2]),

colour = "red",lty = "dashed")

以上是 如何使用斜率和截距来限制ggplot2中abline的长度? 的全部内容, 来源链接: utcz.com/qa/259456.html

回到顶部