使用装有json文件的D3,如何从json文件获取父节点值?

时间:2014-02-07 05:35:13

标签: javascript json d3.js

我正在使用d3来显示来自json文件的数据,这个json文件包含子节点和父节点。像这样:

{
    "name": "root",
    "size": 100,
    "child": [
        {
            "name": "First1",
            "size": 70,
            "child": [
                {
                    "name": "Second1",
                    "size": 85
                },
                {
                    "name": "Second2",
                    "size": 81
                }
            ]
        },
        {
            "name": "First2",
            "size": 40,
            "child": [
                {
                    "name": "Second3",
                    "size": 50,
                    "child": [
                        {
                            "name": "Third1",
                            "size": 80
                        }
                    ]
                }
            ]
        }
    ]
}

我想以不同的深度可视化相应的大小值。例如,对于3深度,我想获得Third1的“大小值”,对于depth2,我想获得Second1 Second2 Second3的大小值,对于depth1,我想获得First1和First2的值。但是,现在,对于深度2,我得到的值是深度3的总和,例如,我想得到Second3的值50,但实际上我得到80这是第三个1的值。另外如果我想得到First2的值应该是40,而我得到50 + 80 = 130。这真的令人困惑,我花了两天时间仍然一无所获。所以请帮我看一下,我真的很感激!谢谢!

1 个答案:

答案 0 :(得分:0)

当然,我把孩子换成了孩子,并且有fiddle。这是你想要的吗?

除了上面的改变之外,我没有做任何特别的事。来自不同级别的数字对应于树深度,如相应的文本元素中所示:

.text(function(d) { return d.depth + ": " + d.size;});