弦图
弦图布局计算角度以生成 弦图。
chord()
源代码 · 使用默认设置构造新的弦图布局。
const chord = d3.chord();
chord(matrix)
源代码 · 计算指定大小为 n×n 的方形 matrix 的弦图布局,其中 matrix 代表 n 个节点的网络(完全有向图)中的定向流量。
chord(matrix) 的返回值是一个 chords 数组,其中每个弦代表两个节点 i 和 j 之间的组合双向流量(其中 i 可能等于 j),并且是一个具有以下属性的对象
source
- 源子组target
- 目标子组
每个源和目标子组也是一个具有以下属性的对象
startAngle
- 以弧度表示的起始角endAngle
- 以弧度表示的结束角value
- 流量值 matrix[i][j]index
- 节点索引 i
弦图通常传递给 带状图 以显示网络关系。
返回的数组仅包含值 matrix[i][j] 或 matrix[j][i] 非零的弦对象。此外,返回的数组只包含唯一的弦:给定的弦 ij 代表从 i 到 j 的双向流量 以及 从 j 到 i 的流量,不包含重复的弦 ji;i 和 j 的选择方式使得弦的源始终代表 matrix[i][j] 和 matrix[j][i] 中较大的值。
chords 数组还定义一个长度为 n 的辅助数组 chords.groups,其中每个组代表节点 i 的组合出流量,对应于元素 matrix[i][0 … n - 1],并且是一个具有以下属性的对象
startAngle
- 以弧度表示的起始角endAngle
- 以弧度表示的结束角value
- 节点 i 的总出流量值index
- 节点索引 i
组通常传递给 弧 以在弦图布局的圆周上生成环形图。
chord.padAngle(angle)
源代码 · 如果指定了 angle,则将相邻组之间的填充角度设置为以弧度表示的指定数字,并返回此弦图布局。如果未指定 angle,则返回当前填充角度,默认值为零。
chord.sortGroups(compare)
源代码 · 如果指定了 compare,则将组比较器设置为指定的函数或 null,并返回此弦图布局。如果未指定 compare,则返回当前组比较器,默认值为 null。如果组比较器不为 null,则它用于根据其总出流量对组进行排序。另请参见 ascending 和 descending。
chord.sortSubgroups(compare)
源代码 · 如果指定了 compare,则将子组比较器设置为指定的函数或 null,并返回此弦图布局。如果未指定 compare,则返回当前子组比较器,默认值为 null。如果子组比较器不为 null,则它用于根据其总出流量对给定组 i 对应的子组 matrix[i][0 … n - 1] 进行排序。另请参见 ascending 和 descending。
chord.sortChords(compare)
源代码 · 如果指定了 compare,则将弦比较器设置为指定的函数或 null,并返回此弦图布局。如果未指定 compare,则返回当前弦比较器,默认值为 null。如果弦比较器不为 null,则它用于根据其组合流量对 弦图 进行排序;这只会影响弦的 z 顺序。另请参见 ascending 和 descending。
chordDirected()
示例 · 源代码 · 用于单向流量的弦图布局。从 i 到 j 的弦仅从 matrix[i][j] 中的值生成。
chordTranspose()
源代码 · 转置的弦图布局。有助于突出显示输出流量(而不是输入流量)。