2016-07-06 2 views
1

Ich versuche, eine Zeitskala mit einer Domäne von 2 Daten 40 Tage auseinander zu legen. Meine Daten Wesen:Zecken auf scaleTime() funktioniert nicht

[ 
    { 
     "date": "Wed Jul 06 2016 16:44:14 GMT-0400", 
     "dailyVerified": 44, 
     "totalVerified": 206 
    }, 
    // other data would go here... 
    { 
     "date": "Sun Aug 14 2016 16:44:14 GMT-0400", 
     "dailyVerified": 27, 
     "totalVerified": 2109 
    } 
] 

Wenn die scale.ticks(x) zu setzen versuchen, es scheint nicht, etwas zu tun. Code ist:

var x = d3.scaleTime(); 

x 
    .domain([firstDate, lastDate]) 
    .range([0, 600]) 
    .ticks(d3.timeDay.every(3)) 

For full code see jsbin.

Ich versuche die Ticks alle drei Tage auf eins zu setzen, genau wie in der api docs, aber es scheint nichts zu tun - Ticks sind noch nach Woche aufgeteilt. Irgendwelche Ideen warum? Liegt es daran, dass ich die Domain falsch gesetzt habe?

Antwort

0

Ich fand es heraus. Ich habe versucht, Ticks auf der Achse anstelle der Skala zu setzen. Also statt:

x.ticks(d3.timeDay.every(5)) 

ich tun musste:

const xA = d3.axisBottom(x); 
// set the ticks on the axis 
xA.ticks(d3.axisBottom(x))