2014-04-21 150 views
1

我試圖繪製其上具有時間單位X軸的XY圖:D3多情節x軸返回NaN

http://jsfiddle.net/VfcLa/

的時間存儲在ISO格式的數據採集和內

var x = d3.time.scale().range([0, width]); 
:使用的時間尺度函數生成

var parseDate = d3.time.format("%Y-%m-%dT%H:%M:%S.%LZ").parse; 

x軸刻度:我使用解析它

x軸域的定義如下:

x.domain(d3.extent(data.e1), function (d) {  return d.time; }); 

和劇情線使用以下功能生成:

var line = d3.svg.line() 
     .interpolate("basis") 
     .x(function(d) { 
      return x(d.time); 
     }) 
     .y(function(d) { 
      return y(d.value); 
     }); 

每次x()函數被調用,已分析的ISO日期參數返回NaN

d =「MNaN,0.3727223712260468LNaN,3.551619373753615CNaN,6.730516376281183,NaN時,13.088310381336319,NaN時,15.327467421250939CNaN,17.56662446116556,NaN時,15.687144535939666,NaN時,12.446127138207757CNaN,9.205109740475848,NaN時,4.602554870237924,NaN時,5.316237018898292CNaN,6.02991916755866,爲NaN,12.05983833511732大,NaN,17.974294680466606CNaN,23.888751025815896大,NaN,29.687744548955813大,NaN,29.192971911030863CNaN,28.698199273105914大,NaN,21.9096604741161大,NaN,16.400308154832988CNaN,10.890955835549873,NaN,則6.660789995973459大,NaN,7.246710113817281CNaN,7.832630231661104大,NaN,13.234636306925163,NaN的, 34.457639028148215CNaN,55.68064174937127,NaN時,92.72464111655331,NaN時,93.00921342738123CNaN,93.29378573820912,NaN時,56.818930992682894,NaN時,36.501416168287236CNaN,16.18390134389157,NaN時,12.02372644062648,NaN時,9.943638988993934LNaN,7.8635515373613885"

有沒有人知道我的X軸定義有什麼問題?

回答

0

d3.extent方法將數據數組作爲輸入參數,將訪問器方法作爲第二個參數。訪問器告訴數組的哪個屬性應該用來計算範圍。你可能想定義域

// Use the time extent as domain 
x.domain(d3.extent(data.e1, function (d) { return d.time; })); 

問候,

+0

這做到了。非常感謝你 :) – lucassp