0

到目前为止,我已经在 d3.js 中挖掘了几天,到目前为止我很喜欢它。

因为我的项目需要一个树布局,所以我在搜索树布局时进入了它。我遇到了这个例子 ,我已经完成了数据获取和适合我网站的时尚方面。

我的问题,因为我无法逃脱它是:我怎么能告诉树不要在一开始就扩大?我希望用户根据需要点击节点,因为我总是发现自己一开始就没有点击,只是为了单独获得“flare”节点。

在此先感谢您,如果您知道如何操作,您可以添加代码或重新编写示例中的代码,然后我会将其应用到我正在处理的项目中。

4

1 回答 1

1

该示例使用以下代码打开或关闭子项:

// Toggle children on click.
function click(d) {
  if (d.children) {
    d._children = d.children;
    d.children = null;
  } else {
    d.children = d._children;
    d._children = null;
  }
  update(d);
}

children因此,您可以通过将原始数据集从更改为_children您希望开始折叠的任何级别来初始化树以在特定级别关闭。

例如(来自flare.json):

{
 "name": "flare",
 "_children": [
  {
   "name": "analytics",
   "_children": [
    {
     "name": "cluster",
     "_children": [
      {"name": "AgglomerativeCluster", "size": 3938},
      {"name": "CommunityStructure", "size": 3812},
      {"name": "HierarchicalCluster", "size": 6714},
      {"name": "MergeEdge", "size": 743}
     ]
    }
...
...
于 2013-09-12T20:29:11.890 回答