title: Changing size of D3 tick marks based on tick value
body: <p>I've created a x-axis with a custom <code>tickFormat</code> in D3. </p>
  
  <p>It prints a tick for each month, but labels January as the year, i.e 2014, 2013, etc.</p>
  
  <pre><code>var xAxis = d3.svg.axis()
      .scale(x)
      .orient('bottom')
      .ticks(d3.time.month, 1)
      .tickFormat(d3.time.format.multi([["%b", function(d) { return d.getMonth(); }], ["%Y", function() { return true; }]]))
      .tickSize(4)
      .tickPadding(8);
  </code></pre>
  
  <p>I'd like to vary the <code>tickSize</code> as well and have a long tick for the year markers. </p>
  
  <p>But it doesn't appear you can use a function to return a value. This should print a random tick size for each date, but fails:</p>
  
  <pre><code>.tickSize(function(d){ return Math.random() * 50 })
  </code></pre>