以下是需要翻译的内容:
下面是图片:
(该图片无法翻译,请查看原图)
针对下面的Fiddle,我想隐藏根节点。非常感谢您的帮助,如果要查看代码,请查看fiddle。
我想我会做类似以下的操作,但我不确定如何/在哪里实现它:
if (d.depth > 0) {
...node is drawn
}
下面是图片:
(该图片无法翻译,请查看原图)
针对下面的Fiddle,我想隐藏根节点。非常感谢您的帮助,如果要查看代码,请查看fiddle。
我想我会做类似以下的操作,但我不确定如何/在哪里实现它:
if (d.depth > 0) {
...node is drawn
}
不绘制它并不是指使用“零不透明度”或“隐藏显示”来“绘制它”。实际上,这意味着不将元素追加。
因此,最简单的方法是从数据数组中删除它。只需过滤掉第一个节点:
nodes = nodes.filter(function(d){
return d.depth != 0;
})
由于 0
是假值,因此这与以下代码相同:
nodes = nodes.filter(function(d){
return d.depth;
})
links = links.filter(function(d){
return d.depth != 1;
})
以下是您更新的代码:https://jsfiddle.net/wa21csbc/
另外,由于这些元素不再被绘制,您可以将数据可视化移动到左侧,以占据空的SVG空间。该空间存在是因为我们在d3.tree()
计算位置后过滤了第一个节点之后。