2015-04-03 91 views
0

我一直在嘗試將一些數據從CSV加載到D3中。其結構是:將基本CSV數據加載到D3

variety, amount 
a, 1 
b, 3 
c, 7 

我想量數據進入一個數組,並已成功在嘗試各種教程和論壇帖子中描述的所有方法。

我曾嘗試:

d3.csv("data.csv", function(data) { 
    var dataset = console.log(data["amount"]); 
}); 


var dataset = d3.csv("data.csv", function(data) { 
    dataset = console.log(data["amount"]); 
}); 


d3.csv("data.csv", function(data) { 
    dataset = console.log(data.amount); 
}); 


d3.csv("data.csv", function(data) { 
    var dataset = console.log(data); 
}); 


d3.csv("data.csv", function(data) { 
    var dataset = data); 
}); 


d3.csv("data.csv", function(data) { 
      return {amount: +data}; 
}); 

d3.csv("data.csv", function(data) { 
      dataset = data.map(function(d) { return [+d["amount"], +d["variety"]];}); 
}); 

我道歉,如果一些嘗試很可笑,但我只是開始使用D3玩耍。謝謝你的幫助。

+0

您是否在控制檯中發現任何錯誤? – 2015-04-03 06:23:22

+0

你可以在這裏粘貼你的完整html和js嗎?我想你包括在錯誤的順序的庫 – 2015-04-03 08:10:49

+0

我只是想從我的CSV數據是變量'數據集'在斯科特默裏的例子在這裏:https://github.com/alignedleft/d3-book/blob /master/chapter_06/21_making_a_bar_chart_aligned.html – jdesilvio 2015-04-03 19:45:10

回答

0

問題是與逗號後的空白。由於空間的限制,它被視爲「金額」而不是「金額」。還可以嘗試安裝數據而不是數據['數量']。你會意識到它是一個對象數組,而不只是一個單一的對象。所以你將不得不遍歷數組來獲得金額。

d3.csv("data.csv", function(data) { 
    console.log(data); 
    var len = data.length; 
    for (var i = 0; i < len; i++) { 
    console.log(data[i].amount); 
    } 
}); 
+0

這可以在控制檯中使用,但是我怎樣才能將它保存爲:'var dataset ='? – jdesilvio 2015-04-03 19:43:54

+0

所以我想出瞭如何設置數據集: 'd3.csv(「/ Users/jdesilvio/Dropbox/D3 \ Dev/data.csv」,function(data){ console.log(data); var len = data.length; for(var i = 0; i jdesilvio 2015-04-03 19:57:42

+0

正如我在上面的評論中提到的,我使用了Scott Murray的示例:https://raw.githubusercontent.com/alignedleft/d3-book/master/chapter_06/21_making_a_bar_chart_chart_aligned.html – jdesilvio 2015-04-03 19:59:54

0

我有一個類似的plnkr給你,請注意加載d3 lib的地方。

<body> 
    <script src="http://d3js.org/d3.v3.min.js"></script> 
    ... 

pnlkr