This took me too long to find the answer for so here it is.
How do you get the tick marks on the x-axis of a time-series chart to be on the hour or on the day with the Angular NVD3 directive?
Well you have to explicitly set the xScale to be a d3 time scale and then you can just set the xAxis to d3.time.days or d3.time.hours and it’ll magically work…
chart: { xScale : d3.time.scale(), xAxis: { ticks: d3.time.days, axisLabel: '', tickFormat: function(d) { return d3.time.format('%Y-%m-%d')(new Date(d)); }, showMaxMin: false, }, }