d3.js,可折叠树 - 如何将不同的父母与同一个孩子联系起来

X-j*_*-jo 3 javascript svg directed-acyclic-graphs d3.js

所以我使用http://bl.ocks.org/mbostock/4339083来创建一个可折叠的树,而且效果很好。

现在的问题是我有一些节点具有相同的子节点,所以我想知道是否有任何方法可以将图形可视化,使父节点都扩展到同一个子节点?

所以基本上当你扩展一个父节点的节点时,它应该自动扩展另一个父节点的节点,导致同一个公共子节点,这对任何图形都有可能吗?

Viv*_*idD 5

根据您的描述,我认为您需要可视化有向无环图或 DAG。

树是:

A
|\
B C
 / \
D   E
Run Code Online (Sandbox Code Playgroud)

DAG 是:

A
|\
B C
 \|
  D
Run Code Online (Sandbox Code Playgroud)

而且,不,不幸的是,D3 树和集群布局根本不支持这种图形。他们的内部算法假设数据结构严格来说是一棵树。

但是,有一些选择。请参阅以下五个相关问题以了解可能的方法:

d3 树 - 有相同孩子的父母

如何使用 D3 布局非树层次结构

具有相同父节点的 d3.js 树节点

d3.js 中的分层图

用于显示有向无环图 (DAG) 的 JS 库