1
我從this block驗證碼:我無法理解這樣的.csv文件如何讀取
d3.csv("data.csv", function(d, i, columns) {
for (var i = 1, n = columns.length; i < n; ++i) d[columns[i]] = +d[columns[i]];
return d;
}, function(error, data) {script goes here});
我不明白的代碼是如何使字符串和數字之間的差別,因爲+
在d[columns[i]] = +d[columns[i]]
應該表示一切都被理解爲一個數字,不是嗎?
在塊中的數據是這樣的:
State,Under 5 Years,5 to 13 Years,14 to 17 Years
CA,2704659,4499890,2159981
TX,2027307,3277946,1420518
NY,1208495,2141490,1058031
所以在某些時候不應該代碼試圖解釋CA
爲多少?
哦,我認爲這是沿着每條線垂直迭代,謝謝。但是,腳本如何獲得每個州的名稱?這裏'x0.domain(data.map(function(d){return d.State;}));'你看到d.State被使用,當它沒有從.csv文件中讀取時。所以,即使你沒有從d3.csv中得到它,你仍然可以在以後使用它? 我不知道我是否很清楚。 –
第一列僅跳過轉換; 「國有」財產將保持不變。請注意,整個行由'return d'返回,其所有初始屬性的列索引1至n都轉換爲數字。 – altocumulus
非常感謝!因此,如果我理解正確,沒有這行'for(var i = 1,n = columns.length; i