2015-04-03 71 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