Я играл с этим примером складного дерева: http://bl.ocks.org/mbostock/4339083D3.js разборного дерево - визуализировать заданное количество уровней
В этом примере сначала только корень и все его дочерних визуализируется. Мне было интересно, как можно визуализировать заданное количество уровней (например, корень и два дополнительных уровня, что означает корень, его дети и дети детей с корнями).
Я пробовал модифицировать функцию collapse(d)
, в которой я указал, чтобы свернуть узел на основе его свойства depth
. Как:
function collapse(d) {
if (d.children && d.depth > 3) {
d._children = d.children;
d._children.forEach(collapse);
d.children = null;
}
}
Но ни один из узлов не получают развалился, потому что d.depth
свойство undefined
. Я углубился и понял (исправьте меня, если я ошибаюсь), что свойство depth
присваивается только узлу после того, как переменная инициализируется nodes
.
var nodes = tree.nodes(root).reverse();
Теперь я полностью застрял. Есть ли способ достичь этого?