跳至内容

聚类

/Chaos/Chaos/Eros/Chaos/Erebus/Chaos/Tartarus/Chaos/Gaia/Chaos/Gaia/Mountains/Chaos/Gaia/Pontus/Chaos/Gaia/UranusEros/Chaos/ErosErebus/Chaos/ErebusTartarus/Chaos/TartarusMountains/Chaos/Gaia/MountainsPontus/Chaos/Gaia/PontusUranus/Chaos/Gaia/UranusChaos/ChaosGaia/Chaos/Gaia

示例 · 聚类布局会生成 树状图:节点-链接图,将树的叶节点放置在相同的深度。与 整齐树 相比,树状图通常不太紧凑,但当所有叶节点需要位于同一级别时很有用,例如用于层次聚类或 系统发育树图

cluster()

源代码 · 创建一个具有默认设置的新聚类布局。

cluster(root)

源代码 · 布置指定的 root 层次结构,在 root 及其后代上分配以下属性

  • node.x - 节点的 x 坐标
  • node.y - 节点的 y 坐标

坐标 xy 代表任意坐标系;例如,你可以将 x 视为角度,将 y 视为半径,以生成 径向布局。你可能需要在将层次结构传递给聚类布局之前调用 root.sort

cluster.size(size)

源代码 · 如果指定了 size,则将此聚类布局的大小设置为指定的包含两个数字的数组 [width, height],并返回此聚类布局。如果未指定 size,则返回当前布局大小,默认值为 [1, 1]。布局大小为 null 表示将使用 节点大小。坐标 xy 代表任意坐标系;例如,要生成 径向布局,大小为 [360, radius] 对应于 360° 的宽度和 radius 的深度。

cluster.nodeSize(size)

源代码 · 如果指定了 size,则将此聚类布局的节点大小设置为指定的包含两个数字的数组 [width, height],并返回此聚类布局。如果未指定 size,则返回当前节点大小,默认值为 null。节点大小为 null 表示将使用 布局大小。当指定节点大小时,根节点始终位于 ⟨0, 0⟩。

cluster.separation(separation)

源代码 · 如果指定了 separation,则将分离访问器设置为指定的函数,并返回此聚类布局。如果未指定 separation,则返回当前分离访问器,默认值为

js
function separation(a, b) {
  return a.parent == b.parent ? 1 : 2;
}

分离访问器用于分离相邻的叶节点。分离函数传递两个叶节点 ab,并且必须返回所需的间距。这些节点通常是兄弟节点,尽管如果布局决定将这些节点放置在相邻位置,则这些节点可能关系更远。