Jak użyć d3.time.scale () do wygenerowania tablicy równomiernie rozmieszczonych dat?

Wydaje się, że powinno to być trywialne. Chcę użyćd3.time.scale() aby uzyskać szereg równomiernie rozmieszczonych dat, które obejmują pewien zakres czasu. Na przykład lata

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

lub miesiące

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

lub cokolwiek.

Więc zaczynam tak:

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

Wtedy założyłem zdokumentacja że będę w stanie to zrobić

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

... ale to tylko zwraca jedną datę.

Daje mi to wiele miesięcy

var ticks = t.ticks(30)

... ale tylko dlatego, że powiedziałem z grubsza ile kleszczy do wygenerowania (30), których nie będę z góry wiedział (chyba że sam wykonam ciężkie podnoszenie, które to pokonuje cel użycia d3 do tego) .

Nie rozumiem, dlaczego nie działa po prostu powiedz to, czego chcę co roku, co miesiąc, co 3 miesiące, czy cokolwiek innego.

Umieściłem tutaj skrzypce:http://jsfiddle.net/herbcaudill/LgGpd/4/

questionAnswers(2)

yourAnswerToTheQuestion