我设法弄个例子,重复了我当前面临的问题:http://jsfiddle.net/gp0u5rLu/71/
从图像中可以看到,路径太弯曲了。您可以通过点击添加数据按钮来复制它。我确定这与弯曲链接的配置方式有关。
我遵循以下示例:https://bl.ocks.org/mbostock/4600693
然后在其中创建一个看起来像中间节点的中间节点,该中间节点用作弯曲路径的点。
以下是创建双向链接数据集的一些逻辑:
edges.forEach(function(link) {
var s = link.source = nodeById.get(link.source),
t = link.target = nodeById.get(link.target),
i = {}; // intermediate node
nodes.push(i);
edges.push({
source: s,
target: i
}, {
source: i,
target: t
});
bilinks.push([s, i, t]);
});
您可以看到一个空节点已添加到数据集。但是,当您单击按钮添加数据时会发生什么,我不太了解。
我想也许是在创建相同的中间节点,从而将路径拉得更远,但是我不太确定这是如何工作的。
我需要弯曲的链接,因为在我的数据集中,两个节点之间可能有多个链接,所以我需要一种查看所有链接的方法。
任何帮助将不胜感激,谢谢。