Как использовать d3.time.scale () для генерации массива равномерно распределенных дат?

Кажется, это должно быть тривиально. Я хочу использоватьd3.time.scale() чтобы получить массив равномерно распределенных дат, который охватывает определенный интервал времени. Например, годы

 [2012-01-01, 2013-01-01, 2014-01-01]

или месяцы

 [2012-01-01, 2012-02-01, 2012-03-01 ... 2014-12-01]

или что угодно.

Итак, я начинаю так:

var t = d3.time.scale()
    .domain(d3.extent(dates))
    .nice(d3.time.year);

Я бы тогда предположил издокументация что я смогу сделать это

var ticks = t.ticks(d3.time.month,1);

... но это просто возвращает одну дату.

Это дает мне массив месяцев

var ticks = t.ticks(30)

... но только потому, что я примерно сказал, сколько тиков для генерации (30), что я не буду знать заранее (если я сам не сделаю тяжелую работу, что побеждает цель использования d3 для этого) ,

Я не понимаю, почему не получается просто сказать, что я хочу каждый год, или каждый месяц, или каждые 3 месяца, или что-то еще.

Я положил скрипку здесь:http://jsfiddle.net/herbcaudill/LgGpd/4/

Ответы на вопрос(2)

Ваш ответ на вопрос