Javascript D3.js生成水平不对称节点/路径的树形图

Javascript D3.js生成水平不对称节点/路径的树形图,javascript,jquery,html,svg,d3.js,Javascript,Jquery,Html,Svg,D3.js,我的树视图中的大多数节点都有二进制决策路径。从每个节点延伸的“否”或较低路径与上部节点不对称(它们没有均匀分支)。我不知道为什么。以下是问题的一个片段: 这是我的,这将更好地解释我的对称性问题。我希望路径像中一样均匀延伸。我认为这与以下代码有关: var diagonal = d3.svg.diagonal() .source(function (d) { return { "x": d.source.x + d.sourc

我的树视图中的大多数节点都有二进制决策路径。从每个节点延伸的“否”或较低路径与上部节点不对称(它们没有均匀分支)。我不知道为什么。以下是问题的一个片段: 这是我的,这将更好地解释我的对称性问题。我希望路径像中一样均匀延伸。我认为这与以下代码有关:

var diagonal = d3.svg.diagonal()
        .source(function (d) {
            return {
                "x": d.source.x + d.source.height / 2,
                "y": d.source.y + 170
            };
        })
        .target(function (d) {
            return {
                "x": d.target.x + d.target.height / 2,
                "y": d.target.y
            };
        })
        .projection(function (d) {
            return [d.y, d.x];
        });

但这似乎只是整理了路径的对称性,而不是节点本身。

树布局并没有真正考虑到这一点,但通过调整路径,您可能可以得到您想要的。我将对此进行研究。刚刚注意到,当我删除.source和.target函数时,路径变得对称,但节点却不对称。