我需要在同一个svg中创建多个根节点(可能是不同的根节点/树)。如果没有提供父级,则应将子级本身创建为根节点(这将导致单独的根节点)。那么我们如何在同一svg中的D3.js中创建多个根节点(作为与树具有相同属性的单根)。 我需要任何代码片段,因为我是d3.js的新手
提前致谢.. !!
答案 0 :(得分:0)
我是D3的新手,所以也许有一个比我更优雅的解决方案。这真是一招:
为了拥有 forest 而不是单个树,您可以创建一个假根节点,即所有实际根节点的父节点。给它一个允许你区别的属性,例如我在其json中添加了fake: true
。
然后只需用CSS隐藏它:
<style>
.fake {
display: none;
}
</style>
<script type="text/javascript">
// ...
var nodeEnter = node.enter().append("g")
.attr("class", function(d) {
return d.fake ? "fake" : "node"
})
// etc.
// Same on links:
link.enter().insert("path", "g")
.attr("class", function(d) {
return d.source.fake ? "fake" : "link";
})
// etc.
</script>