【发布时间】:2013-07-31 05:35:04
【问题描述】:
我对 D3 很陌生,非常感谢一些帮助。我正在尝试修改此强制可折叠布局
https://bitbucket.org/kolbyjAFK/d3/src/f87f85b9c6e2/examples/force/force-collapsible.html
它加载的数据在单个 json 文件中 https://bitbucket.org/kolbyjAFK/d3/src/f87f85b9c6e236f20dec8151ae11438950aaf967/examples/data/flare.json?at=fix-interpolate-hsl
但是,如果我有一个不想立即加载的数据怎么办。我只想在用户单击特定节点时调用子节点。
所以我基本上想将 json 模块化,以便在单击节点时,动态加载包含子数组的 json 文件。
我需要这样做,因为我的数据很大,有 500k 叶节点。
我怎样才能进行这种动态加载?
【问题讨论】:
-
您能否详细说明该方法。我是第一次使用 d3。
-
好吧,我的数据太大了,可以一次加载。我想调用不同的文件。隐藏和显示已经实现。但我无法理解我将如何修改bitbucket.org/kolbyjAFK/d3/src/f87f85b9c6e2/examples/force/… 中的更新函数,因为我认为这个更新函数考虑到我们一次加载整个树。
-
这正是我要寻找的内容:当我点击一个节点时。包含其节点的 json 被加载。 我可以这样做,但我不知道我应该如何将这些节点链接到它的父节点。请对此提供帮助
-
好吧,如果你使用
d3.json,它会创建一个JSON对象供你使用。我怀疑正确的方法是在单击节点时将该对象附加到父节点中的children数组中。如果您的结构中的每个节点都有一个filename: _value_对象,您可以将它用作onclick的参数,从您通过d3.json函数传递的文件名创建child 对象,然后在onclick函数中,将您创建的child 对象附加到您单击的节点的children数组中。
标签: javascript json d3.js