title: The xAxis(date): Undefined is not a function
body: <p>I'm having a problem while getting the xAxis done. I'm a newby using D3 and I just got lost by using the D3 Date method. Could anyone help me to figure it out the problem that is causing the <code>undefined is not a function</code>. I will really appreciate the help, here is my code:</p>
  
  <p>index.html</p>
  
  <pre><code>&lt;!DOCTYPE html&gt;
  &lt;html lang="en"&gt;
  &lt;head&gt;
      &lt;meta charset="UTF-8"&gt;
      &lt;title&gt;Document&lt;/title&gt;
      &lt;link rel="stylesheet" type="text/css" href="styles/main.css"/&gt;
      &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"&gt;&lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
      &lt;h1&gt;Hello worlds&lt;/h1&gt;
      &lt;div id="wrapper"&gt;&lt;/div&gt;
      &lt;script type="text/javascript" src="scripts/app.js"&gt;&lt;/script&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>scripts.js</p>
  
  <pre><code>var height = 800,
      width = 500,
      padding = 50;
  
  var vizz = d3.select('#wrapper')
              .append('svg')
              .attr('height', height + padding * 2)
              .attr('width', width + padding * 2)
              .append('g')
              .attr('id', 'visual')
              .attr('transform', 'translate(' + padding + ',' + padding + ')');
  
  
  var yScale = d3.scale.linear().range([height, 0]);
  var xScale = d3.time.scale().range([0, width]);
  var parseTime = d3.time.format("%Y%m%D");
  
  
  var xAxis = d3.svg.axis().scale(xScale).orient("botom").tricks(8);
  var yAxis = d3.svg.axis().scale(yScale).orient("left").tricks(20);
  
  
  
  d3.csv('data/climate_data.csv', function(data){
  
      yDomain = d3.extent(data, function(element){
          return parseInt(element.TMAX)
      });
      xDomain = d3.extent(data, function(element){
          return parseTime.parse(element.DATE)
      });
  
  
      yScale.domain(yDomain);
      xScale.domain(xDomain);
  
  
      dots = vizz.selectAll('circle')
              .data(data)
              .enter()
              .append('circle');
  
  
      dots.attr('r', function (d){ 
          return d.TMAX / 100; })
      .attr('cx', function(d) {return Math.max(0 + padding, Math.random() * width - padding)})
      .attr('cy', function(d) {
          return yScale(d.TMAX);
      });
  
  });
  </code></pre>
  
  <p>data/climate_data.csv</p>
  
  <pre><code>STATION,STATION_NAME,ELEVATION,LATITUDE,LONGITUDE,DATE,PRCP,TMAX,TMIN,TOBS
  GHCND:USC00356749,PORTLAND KGW TV OR US,48.5,45.51667,-122.68333,19730801,0,294,133,217
  GHCND:USC00356749,PORTLAND KGW TV OR US,48.5,45.51667,-122.68333,19730802,0,300,128,217
  GHCND:USC00356749,PORTLAND KGW TV OR US,48.5,45.51667,-122.68333,19730803,0,289,133,172
  </code></pre>