title: limits argument in scale_x_date (ggplot) still produces dates outside data.frame range
body: <p>My data.frame looks like:</p>
  
  <pre><code>df &lt;- data.frame(date=as.Date(c("2017-12-01", "2018-01-01", "2018-02-01")), value=c(1, 2, 3))
  </code></pre>
  
  <p>And when plotting a line with ggplot </p>
  
  <pre><code>library(ggplot2)
  ggplot(data=df, aes(x=date, y=value)) +
  geom_line() + 
  scale_x_date(date_breaks = "day", limits = c(min(df$date), max(df$date))) +
  theme(axis.text.x=element_text(angle=90, vjust = 0.5))
  </code></pre>
  
  <p>Gives:</p>
  
  <p><a href="https://i.stack.imgur.com/lboO3.png" rel="noreferrer">enter image description here</a></p>
  
  <p>I hoped by setting the limits (<code>limits = c(min(df$date), max(df$date))</code>) in the ggplot command, that the extra dates in november 2017 and februari 2018 would disappear, but they do not.</p>
  
  <p>Can I actually limit the plot to "2017-12-01" and "2018-02-01" by using <code>scale_x_date</code>? Or do I have to loose the date functionality to limit the plot on either end to the dates in my data.frame?</p>