2014-03-04 76 views
2

我正在關注D3示例:http://bl.ocks.org/mbostock/3883245。我正在從遠程服務器請求TSV來創建圖形。我知道這工作正常,因爲圖表會自動更改其X軸的時間給定。問題在於TSV的其中一列是:temperature [C]。我的例子修改的數值相匹配的TSV,但它沒有工作,我認爲它不喜歡的空白:D3 TSV列訪問

d3.tsv(tsvDataURL, function(error, data) { 

        data.forEach(function(d) { 
           d.time = parseDate(d.time); 
           d.temperature [C] = +d.temperature [C]; 
           }); 

        x.domain(d3.extent(data, function(d) { return d.time; })); 
        y.domain(d3.extent(data, function(d) { return d.temperature [C]; })) 

... 

有我來訪問列一個簡單的方法像d[2];索引獲得第二列?我以前嘗試過,但不能按預期工作。請原諒我的弱JS技巧,我對整個語言都很陌生。

回答

2

您不能使用有空格或在他們的特殊字符對象鍵「點」符號,而是使用括號標記:

d["temperature [C]"] = +d["temperature [C]"]; 

爲了使你的代碼的其他部分更容易,你可以也給新的變量名:

d.temp = +d["temperature [C]"]; 

然後你就可以在你的代碼的其餘部分使用d.temp