d3.js:如何偏移树布局中链接的起点和终点

时间:2015-12-11 16:01:51

标签: javascript d3.js svg

我有一个使用d3的树形布局,每个节点可视地有3个部分(嵌套在节点内的路径)。我要做的是根据节点类型更改链接的起点,但保持链接的终点到新节点的中心。因此,最终布局可以具有从2个位置之一(顶部视觉十六进制或底部十六进制)开始的点。这是我要做的事情的模型: Mockup of desired connector links

这是我目前通过使用对角函数并添加偏移量而得到的: Current screenshot

我知道我可以使用对角函数来偏移静态量,如上面的屏幕截图所示,但这适用于链接的开始和结束位置: var diagonal = d3.svg.diagonal()   .projection(function(d){return [d.y + 50,d.x];});

这将使链接水平偏移50(我的方向被翻转),这对于父节点很有用,但我希望子节点具有不同的偏移并且只绘制到d.y。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

我不知道你是否已将它排序,但这对我有用:

$out = array(); 
foreach($array as $key => $value){
    $part = explode("T", $value);
    $hour = explode(":", $part[1]);
    $out[$hour[0]] = $hour[0];
}

print_r($out);

我也翻了x / y,但是我从右向左走,所以你可能需要摆弄参数。

第一篇文章 - 请保持温和。