当前位置: 首页 > 知识库问答 >
问题:

d3.js,可折叠树——如何连接不同的父母和同一个孩子

阳宗清
2023-03-14

所以我正在使用 http://bl.ocks.org/mbostock/4339083 来创建一个可折叠的树,它工作得很好。

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

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

共有1个答案

顾嘉纳
2023-03-14

根据你的描述,我推断你需要可视化有向无环图,或DAG。

树是:

A
|\
B C
 / \
D   E

DAG是:

A
|\
B C
 \|
  D

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

然而,有一些选择。请查看以下五个相关问题,了解可能的方法:

d3树型父母有相同的孩子

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

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

d3.js中的分层图

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

 类似资料:
  • 我一直在将代码从JIT转换到D3,并使用树布局。我已从中复制了代码http://mbostock.github.com/d3/talk/20111018/tree.html使用我的树数据,但我想做更多。 在我的例子中,我想创建子节点,这些子节点合并回一个较低级别的父节点,我意识到这更像是一个有向图结构,但是希望树能够适应这一点(即注意子节点之间的公共id应该合并)。 因此,基本上,一棵树在从父母到

  • 问题内容: 我有一排2列。在这些列中,我有一个标题,内容和列表。它们具有不同的内容长度。 我要实现的是,该列表在同一行上彼此相邻,而不会破坏引导程序移动优化。 我首先尝试了3个不同的行,但是当列断开时,内容不再属于彼此。没有JavaScript,有没有我需要的解决方案?也许以某种方式使用flexbox? 这是我当前的代码: 问题答案: 为了能够实现这一目标,而无需使用脚本,所有项目(,,,)需要

  • d3.js树形布局是一个很棒的工具,但是它默认只允许孩子有一个单亲。我希望能够让孩子们有不止一个父母。我对树的默认行为提供的节点位置很满意。我想要的只是在默认树被计算出来之后,在没有孩子的父母和现有的孩子之间画出额外的对角线链接。我的脚本目前看起来像这样: 我试图使用根对象将父节点的子节点复制到无子节点,但无济于事(根对象的结构对我来说非常晦涩难懂)。 感谢任何帮助。 PS :我知道一个类似的问题

  • 我是 D3 的新手。因此,我正在尝试呈现一个图形,其中两个或多个孩子可以具有相同的父级。我想知道如何使链接再次定向到同一节点?我有断开的链接.. 任何帮助都是巨大的。 这是我的代码...

  • 本文向大家介绍d3.js 不同的选择器,包括了d3.js 不同的选择器的使用技巧和注意事项,需要的朋友参考一下 示例 您可以使用不同的选择器选择元素: 按标签: "div" 按类别: ".class" 依编号: "#id" 按属性: "[color=blue]" 多个选择器(OR): "div1, div2, class1" 多个选择器(AND): "div1 div2 class1"

  • 我正在尝试选择树的一个分支,并为每个分支(父级和两个级别的子项)分配一种独特的颜色。在下面的示例图片中,父节点位于右侧,叶节点位于左侧。 我的分层数据有三层(名称:“专业” 但是不能把这些放在一起让它工作。当我绘制路径时,我如何为每个分支分配一种独特的颜色?