这可能是另一个有待改进的问题,我已经在Existing question
的帮助下做出了指示,该指令运作良好。
现在当用户动态创建此图表时,当数据加载超过时,浏览器会变得很重,用户界面会卡住。
当最初加载图表时,如何将节点级别限制为2。 我试图逐个拨打服务电话,但这不起作用。
以下是代码:
function click(d) {
if (d3.event.defaultPrevented) return; // ignore drag
if (d.children) {
d._children = d.children;
d.children = null;
} else {
d.children = d._children;
d._children = null;
}
update();
}
答案 0 :(得分:2)
希望这会有所帮助。从此示例:How can I start with all the nodes collapsed in d3js?
我编辑了你的小提琴:http://jsfiddle.net/thatOneGuy/yar5sco6/7/
我删除了对update()
的原始通话。因此,您必须按Load
然后按Start
。
这会折叠所有节点。从那里你可以很容易地打开前两个层次结构:)
这是主要的实施方式:
// HTML
<button id='startForce'>START</button>
// JS
document.getElementById('startForce').addEventListener('click', function() {
console.log('start');
var nodes = flatten(root);
nodes.forEach(function(d) {
d._children = d.children;
d.children = null;
});
update();
})