对于下面的小提琴,我想隐藏根节点。感谢任何帮助,要查看代码,请查看小提琴。
我想我会做类似以下的事情,但我不确定如何/在哪里实现它:
if (d.depth > 0) {
...node is drawn
}
Run Code Online (Sandbox Code Playgroud)
不绘制它不是“以零不透明度绘制它”或“隐藏显示”。它实际上没有附加元素。
因此,最简单的选择是将其从数据数组中删除。只需过滤掉第一个节点:
nodes = nodes.filter(function(d){
return d.depth != 0;
})
Run Code Online (Sandbox Code Playgroud)
由于0是虚假的,这与以下内容相同:
nodes = nodes.filter(function(d){
return d.depth;
})
Run Code Online (Sandbox Code Playgroud)
并过滤掉其中的所有链接:
links = links.filter(function(d){
return d.depth != 1;
})
Run Code Online (Sandbox Code Playgroud)
这是您更新的小提琴:https://jsfiddle.net/wa21csbc/
此外,由于不再绘制这些元素,您可以将数据可视化移动到左侧,从而占据空的 SVG 空间。该空间之所以存在,是因为我们在计算位置后过滤掉了第一个节点。 d3.tree()