我正在构建树形图,如:http://bl.ocks.org/2503502。树结构 - 仅以根节点开始
我想有一棵树,所有的节点折叠,所以最初的图应该只包含一个节点(根)。加载页面时,只应显示根节点,然后单击时显示其余子节点。
我该怎么做?
我正在构建树形图,如:http://bl.ocks.org/2503502。树结构 - 仅以根节点开始
我想有一棵树,所有的节点折叠,所以最初的图应该只包含一个节点(根)。加载页面时,只应显示根节点,然后单击时显示其余子节点。
我该怎么做?
我可以看到这是前一阵子被问到的,但无论如何我会回答它,因为我处于类似的情况。
这里有几个选项,具体取决于您是否希望根节点可点击以及子节点完全显示(在单击root后),因为它目前出现在您提供的示例上,或者如果您想要全部子节点也将被折叠。
OPTION 1(仅根节点折叠)
在其中在函数它是编码与update(root);
的d3
对象的初始化(做CTRL + ˚F或CMD + ˚F)放入toggle(root)
。变量名称root
根据给出的示例,您的版本和函数名称可能会有所不同(因为您尚未提供示例代码来解决问题)。
OPTION 2(所有节点折叠)
你做上面一样,但选择1之前新插入的toggle(root);
你也把root.children.forEach(toggleAll);
其中toggleAll
是你还需要插入这是一个函数:
function toggleAll(d) {
if (d.children) {
d.children.forEach(toggleAll);
toggle(d);
}
}
替代选项
我有GI的选项并不仅限于上述内容。如果你按照brantolsen.github.com的这个例子(https://stackoverflow.com/a/11649427),你会发现实现你想要实现的其他例子。