有没有办法在带有固定节点的d3中创建静态有向图?

时间:2019-07-11 10:56:32

标签: javascript d3.js graph

因此,我需要创建一个静态的有向图来描述创建某些东西的过程。它的子级可以指向同一阶段,但不必指向同一阶段。重要的是,最后,所有子分支都指向同一最终阶段。

关于结构的最终外观应类似于下图

https://imgur.com/a/BXr44GO

所以直到现在,我还尝试了d3中的力布局图。我在这里搜索了示例和类似问题,但是没有一个涉及我的特定问题。但是,我不是d3专家,所以也许我做错了什么,或者错过了什么,这就是为什么我来这里是因为没有其他想法。

一些例子: https://bl.ocks.org/mbostock/3750558 https://bl.ocks.org/heybignick/3faf257bbbbc7743bb72310d03b86ee8

我关于d3强制布局图的主要问题是,我不知道如何使它们每次都在同一位置处于静态和垃圾邮件状态,而又不会像示例中那样四处浮动。

所以我的问题是,是否可以使用d3强制布局使如上图所示提供图形,或者我应该只是创建自己的自定义布局来以所需的方式显示图形。

如果可能的话,我想就如何处理这种图形提出一些建议。

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找的是d3-sankey,您可以找到更多示例here

如果使用力模拟。您将必须计算每个节点的位置并“固定” like here,并且还必须进行静态力仿真,该操作基本上是相同的,但是您可以控制力“运行”多少次,{{ 3}},请看以下几行:

// Run the layout a fixed number of times. // The ideal number of times scales with graph complexity. // Of course, don't run too long—you'll hang the page! force.start(); for (var i = n * n; i > 0; --i) force.tick(); force.stop();