Limite de eixos ggplot2 sem remover dados (limites externos): zoom

Se você especificar limites de eixo no ggplot, os pontos externos serão removidos. Isso é bom para pontos, mas você pode plotar linhas que se cruzam com o intervalo especificado, mas o ggplotrange ouxlim/ylim métodos remove esses. Existe outra maneira de especificar o intervalo do eixo de plotagem sem remover dados externos?

por exemplo.

require(ggplot2)
d = data.frame(x=c(1,4,7,2,9,7), y=c(2,5,4,10,5,3), grp=c('a','a','b','b','c','c'))
ggplot(d, aes(x, y, group=grp)) + geom_line()
ggplot(d, aes(x, y, group=grp)) + geom_line() + scale_y_continuous(limits=c(0,7))
ggplot(d, aes(x, y, group=grp)) + geom_line() + ylim(0,7)

questionAnswers(1)

yourAnswerToTheQuestion