title: Matplotlib pyplot - tick control and showing date
body: <p>My <code>matplotlib pyplot</code> has too many <code>xticks</code> - it is currently showing each year and month for a 15-year period, e.g. "2001-01", but I only want the x-axis to show the year (e.g. 2001). </p>
  
  <p>The output will be a line graph where x-axis shows dates and the y-axis shows the sale and rent prices. </p>
  
  <pre><code># Defining the variables
  ts1 = prices['Month'] # eg. "2001-01" and so on
  ts2 = prices['Sale'] 
  ts3 = prices['Rent'] 
  
  # Reading '2001-01' as year and month
  ts1 = [dt.datetime.strptime(d,'%Y-%m').date() for d in ts1]
  
  plt.figure(figsize=(13, 9))
  # Below is where it goes wrong. I don't know how to set xticks to show each year. 
  plt.xticks(ts1, rotation='vertical')
  plt.xlabel('Year')
  plt.ylabel('Price')
  plt.plot(ts1, ts2, 'r-', ts1, ts3, 'b.-')
  plt.gcf().autofmt_xdate()
  plt.show()
  </code></pre>