Как заставить линии ggplot идти к краю?

У меня есть данные (глубина с течением времени), которые я хочу отобразить с помощью линейного графика. Для ясности я хочу увеличить раздел, но при этом показать пользователю, что данные продолжаются за пределами графика. Поэтому я хочу, чтобы линии останавливались на краю сюжета, а не в последней точке. Это достаточно просто в базовой графике, но я не могу заставить это работать в 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

Есть ли способ заставить линии идти к краю сюжета в ggplot? Спасибо.


person Corned Beef Hash Map    schedule 10.06.2016    source источник


Ответы (2)


попробуй это

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

введите описание изображения здесь

person Tomas H    schedule 10.06.2016

если вам нужна прямая линия, abline будет проще всего

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

введите здесь описание изображения

person baptiste    schedule 10.06.2016