2014-10-22 74 views
0

我嘗試了一些東西,但滴答和日期格式仍然錯誤。在其他圖表上我有它正在工作,但不是在這個。日期和蜱如何放置得足夠?D3 x軸上的滴答錯誤

這裏是我的代碼小提琴:http://jsfiddle.net/nv2qv2L2/

這裏是蜱格式的代碼:

var xAxis = d3.svg.axis() 
.scale(x) 
.orient("bottom").ticks(coverageArr.length).tickFormat(d3.time.format("%Y-%m-%d")); 

回答

1

通常製作時間尺度時,你會用d3.time.scale(),而不是順序量表。

  1. 使用時標顯示時間軸。

    時間刻度讓您直接指定您想要的刻度的步驟。您可以通過將d3持續時間和時間間隔傳遞給軸的.ticks()方法來實現此目的。就像這樣:

    var xAxis = d3.svg.axis() 
    .scale(x) 
    .orient("bottom") 
    .ticks(d3.time.day, 4) 
    

    你會得到以下結果: enter image description here

你可以找到更多有關時間間隔here

  1. 使用順序標尺顯示時間軸。

    var tickValues = []; 
    for(i = 0; i < coverageArr.length; i++) { 
        tickValues.push(coverageArr[i][0]); 
    } 
    var x = d3.scale.ordinal().domain(tickValues).rangeRoundBands([0, width], 1) 
    

    結果將如下所示: enter image description here