d3.js中的定向非循环图

Chr*_*itz 8 visualization data-visualization directed-acyclic-graphs d3.js

今天在D3.js中有没有可靠的绘制有向无环图的方法?我正在尝试将课程中的先决条件可视化,类似于此.

我已经看到了类似问题的一些较旧的答案,最有希望的是这种黑客攻击,尽管它对于更大和更复杂的数据集并不能很好地工作.

这是一个罕见的可视化案例,D3不适合吗?

Mar*_*coL 18

你可能试过一个dagre,一个用于DAG图的JS库.

如果你想因任何原因使用d3,请看看dagre-d3

对于更高级的方法,请使用上面的所有库来查看此项目.

如果d3不是强制性的,还要看一下其他的图库.;)

2018年9月更新

有一个名为d3-dag的新库


Dan*_*anM 5

已经晚了,但也许与其他搜索类似信息的人相关......

Elkjs支持分层图形布局,并且目前似乎仍在积极维护中。

一些基于OP用例的建议布局选项......

layoutOptions: {
        'org.eclipse.elk.algorithm': 'layered',
        'org.eclipse.elk.direction' : 'DOWN',
        'org.eclipse.elk.edgeRouting': 'SPLINES',
        'org.eclipse.elk.layered.edgeRouting.sloppySplineRouting': false,
        'org.eclipse.elk.layered.layering.strategy': 'INTERACTIVE' }
Run Code Online (Sandbox Code Playgroud)

可以将这些选项粘贴到此交互式编辑器中以查看布局如何受到影响。

  • elkjs 既不使用 sprotty 也不使用 D3。它只是一个布局库。您可以通过选择渲染库(例如 sprotty、D3 等)自行处理渲染。 (3认同)