如何使 ggplot 线 运行 成为边缘?

How to make ggplot lines run to the edge?

我有数据(随时间变化的深度),我想用线图显示。为清楚起见,我想放大一个部分,但仍向用户显示数据继续超出绘图范围。所以我希望线条停在情节的边缘,而不是最后一点。这在基本图形中非常简单,但我无法在 ggplot 中使用它。这是一个带基数的例子:

d <- data.frame(x = 1:10, y = 1:10)
plot(d$x, d$y, xlim = c(2,9))
lines(d$x, d$y)

与 ggplot 类似的方法不起作用;线条停在最后一点。示例:

d <- data.frame(x = 1:10, y = 1:10)
ggplot(d, aes(x, y)) + geom_point() + geom_line() + xlim(2,9)

有没有办法在 ggplot 中获取到 运行 绘图边缘的线?谢谢。

试试这个

d <- data.frame(x = 1:10, y = 1:10)
ggplot(d, aes(x, y)) + geom_point() + geom_line() + coord_cartesian(xlim = c(0,9))

如果你想要一条直线,abline最简单

d <- data.frame(x = 1:10, y = 1:10)
ggplot(d, aes(x, y)) + geom_point() + geom_abline() + xlim(2,9)