代码之家  ›  专栏  ›  技术社区  ›  thatOneGuy

添加新数据时,路径上的曲线增长过多

  •  0
  • thatOneGuy  · 技术社区  · 6 年前

    我试着把一个例子拼凑在一起,复制了我目前面临的问题: http://jsfiddle.net/gp0u5rLu/71/

    Overly curved paths

    从图中可以看出,这些道路太弯曲了。您可以通过点击Add Data按钮来复制它。我确信这与曲线链接的配置有关。

    我举了一个例子: https://bl.ocks.org/mbostock/4600693

    在那里,你创建了一个中间节点,它被用作一个点来弯曲路径。

    以下是创建bilinks数据集的一些逻辑:

    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]);
    });

    可以看到一个空节点被添加到数据集中。但是,当你点击按钮添加数据时会发生什么,我真的不明白。

    我想,可能是创建了相同的中间节点,从而将路径拉得更远,但我不太确定这到底是如何工作的。

    我需要曲线链接,就像在我的数据集中一样,两个节点之间可能有多个链接,所以我需要一种查看所有这些链接的方法。

    任何帮助都将不胜感激,谢谢。

    0 回复  |  直到 6 年前