到目前为止,我已经在 d3.js 中挖掘了几天,到目前为止我很喜欢它。
因为我的项目需要一个树布局,所以我在搜索树布局时进入了它。我遇到了这个例子 ,我已经完成了数据获取和适合我网站的时尚方面。
我的问题,因为我无法逃脱它是:我怎么能告诉树不要在一开始就扩大?我希望用户根据需要点击节点,因为我总是发现自己一开始就没有点击,只是为了单独获得“flare”节点。
在此先感谢您,如果您知道如何操作,您可以添加代码或重新编写示例中的代码,然后我会将其应用到我正在处理的项目中。
该示例使用以下代码打开或关闭子项:
// 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}
]
}
...
...