2

这可能是另一个关于改进的问题,我在 的帮助下做了一个指令,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();
                }

Application with Data

4

1 回答 1

2

希望这会有所帮助。从这个例子开始:我如何从 d3js 中折叠的所有节点开始?

我编辑了你的小提琴:http: //jsfiddle.net/thatOneGuy/yar5sco6/7/

我删除了对update(). 所以你必须按Loadthen 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();
          })
于 2016-05-16T13:37:59.483 回答