我在这里有一个示例:http://jsfiddle.net/gp0u5rLu/75/
您也可以从这张图片中看到:
这里的问题是要弯曲路径,我们使用节点作为路径的中心点,该路径用来向该点弯曲。看到这里:
function positionLink(d) {
return "M" + d[0].x + "," + d[0].y + // source node
"Q" + d[1].x + "," + d[1].y + // middle node
" " + d[2].x + "," + d[2].y; // target node
}
在tick()函数中调用位置链接。如您所见,中间节点d[1]
用作向其弯曲的点。它保持靠近源节点和目标节点,因为在源节点和中间节点之间以及目标节点和中间节点之间也存在连接的边缘。参见下图:
这些边缘使节点不再漂浮并保持相对靠近。
在我的代码中,这可能会导致以下问题:当节点靠近在一起(源和目标)时,不可见的节点往往会浮动超过所需的距离。
我认为增加源-中间节点和目标-中间节点之间的强度可以解决此问题。是否可以增加特定链接的强度?