如何使用D3将嵌套数据拉入条形图?

时间:2015-04-09 16:04:23

标签: javascript d3.js bar-chart

http://bl.ocks.org/sconnors37/712bf691cefc1a1cb987/e9ae1b459c18fc15b5eb2c9b2fdb46c5f4a6e3ff

有我的gist文件,你可以看到数据有结构:

{
  "children": [
    {
      "name": "Al Montoya",
      "saves": 155
},
{
  "name": "Alex Stalock",
  "saves": 147
},
{
  "name": "Anders Lindback",
  "saves": 124
},
{
  "name": "Anton Khudobin",
  "saves": 214}]}

我试图将其拉入我的d3条形图,以便"保存"是沿着Y轴和"名称"沿着x轴。当我编辑数据以删除" children"外壳,一切正常。我需要编辑什么才能使图表从此.json文件中的子机箱中拉出来?

感谢。

1 个答案:

答案 0 :(得分:0)

我认为这里发生的事情是d3.json回调函数中的data参数默认情况下会查看JSON文件的顶级。在这种情况下,这只是"孩子"对象数组。既然你需要使用里面的对象,我想如果你创建一个专门向下钻到该数组的新变量,那应该会有所帮助。尝试在x.domain函数之前添加它:

var data = data.children;

另外,我认为你不需要输入"键入"作为d3.json方法的参数,可能会使JSON数据的请求跳闸。我可能会删除它,以便该行显示:

d3.json("data.json", function(error, data) {