title: Limit ggplot2 axes without removing data (outside limits): zoom
body: <p>If you specify axis limits in ggplot the outlying points are removed.  This is fine for points, but you might want to plot lines that intersect with the specified range, but ggplot's <code>range</code> or <code>xlim/ylim</code> methods removes these.  Is there another way to specify the plot axis range without removing outlying data?</p>
  
  <p>e.g.</p>
  
  <pre><code>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)
  </code></pre>