title: R X-axis Date Labels using plot()
body: <p>Using the <code>plot()</code> function in R, I'm trying to produce a scatterplot of points of the form <code>(SaleDate,SalePrice) = (saldt,sapPr)</code> from a time-series, cross-section real estate sales dataset in dataframe format. My problem concerns labels for the X-axis.  Just about any series of annual labels would be adequate, e.g. 1999,2000,...,2013 or 1999-01-01,...,2013-01-01. What I'm getting now, a single label, 2000, at what appears to be the proper location won't work.</p>
  
  <p>The following is my call to <code>plot()</code>:</p>
  
  <pre><code>plot(r12rgr0$saldt, r12rgr0$salpr/1000, type="p", pch=20, col="blue", cex.axis=.75, 
       xlim=c(as.Date("1999-01-01"),as.Date("2014-01-01")),
       ylim=c(100,650), 
       main="Heritage Square Sales Prices $000s 1990-2014",xlab="Sale Date",ylab="$000s")
  </code></pre>
  
  <p>The <code>xlim</code> and <code>ylim</code> are called out to bound the date and price ranges of the data to be plotted; note prices are plotted as $000s. <code>r12rgr0$saldt</code> really <em>is</em> a date; <code>str(r12rgr0$saldt)</code> returns: </p>
  
  <pre><code>Date[1:4190], format: "1999-10-26" "2013-07-06" "2003-08-25" NA NA "2000-05-24"  xx 
  </code></pre>
  
  <p>I have reviewed several threads here concerning similar questions, and see that the solution probably lies with turning off the default X-axis behavior and using axis.date, but i) At my current level of R skill, I'm not sure I'd be able to solve the problem, and ii) I wonder why the plotting defaults are producing these rather puzzling (to me, at least) results?</p>
  
  <p>Addl Observations: The Y-axis labels are just fine 100, 200,..., 600.  The general appearance of the scatterplot indicates the called-for date ranges are being observed and the relative positions of the plotted points are correct. Replacing <code>xlim=</code>... as above with <code>xlim=c("1999-01-01","2014-01-01")</code> </p>
  
  <p>or </p>
  
  <pre><code>xlim=c(as.numeric(as.character("1999-01-01")),as.numeric(as.character("2014-01-01")))
  </code></pre>
  
  <p>or </p>
  
  <pre><code>xlim=c(as.POSIXct("1999-01-01", format="%Y-%m-%d"),as.POSIXct("2014-01-01", format="%Y-%m-%d"))
  </code></pre>
  
  <p>all result in error messages.</p>