D3.js 如何在d3中使用分层数据的数据属性

D3.js 如何在d3中使用分层数据的数据属性,d3.js,D3.js,我有一个本质上是树的数据集,但我认为我不应该使用层次结构布局,因为我想画的东西不类似于树 我正在尝试使用.data函数更新图表,但在尝试将其用于分层数据时遇到问题。所以我的问题是: 我最初有类似的数据: var data = [{ "name" : "A", "hasChildren" : true, "children" : [ { "name" : "B", "hasChildren" : false

我有一个本质上是树的数据集,但我认为我不应该使用层次结构布局,因为我想画的东西不类似于树

我正在尝试使用.data函数更新图表,但在尝试将其用于分层数据时遇到问题。所以我的问题是:

我最初有类似的数据:

var data = [{
    "name" : "A",
    "hasChildren" : true,
    "children" : [
        {
            "name" : "B",
            "hasChildren" : false
        },
        {
            "name" : "C",
            "hasChildren" : true
         }
     ]
}];
我甚至不知道如何开始使用.data来进行这种类型的更新,因此我没有工作原型,因此我将尽力描述:

所以为了表示A,我有一个200 x 200的正方形,因为它有两个孩子。正方形是可点击的,因为A的一个孩子C有孩子。当我点击方块时,我得到了新的数据:

var data = [{
    "name" : "A",
    "hasChildren" : true,
    "children" : [
        {
            "name" : "B",
            "hasChildren" : false
        },
        {
            "name" : "C",
            "hasChildren" : true,
            "children" : [
                {
                    "name" : "D",
                    "hasChildren" : false
                }
             ]
         }
     ]
}];
绘制一个新的正方形来表示C的子元素,它是100x100,因为它只有一个子元素,并使用D来绘制该正方形。 我知道我可以把孩子的数量作为一个数据,但我想做的是用新的信息来绘制

希望我的解释足够清楚:p

这只是我想做的一个基本想法。有人能告诉我如何使用.data来检查嵌套表单中的更新,然后在此基础上更新图表吗


谢谢

你所描述的听起来像一个故事。这就是你想要的吗?不幸的是,这不是我想要的。我只是想知道是否可以使用.data和update来绘制与新数据相关的东西,D。是的-这就是.data的全部要点。你看过D3网站上的教程和例子了吗?虽然我不认为有任何东西完全像你正在寻找的,但有足够的东西让你朝着正确的方向开始。