跳到內容

弦圖

弦圖配置計算角度以產生 弦圖

chord()

原始碼 · 建立一個具有預設設定的新弦圖配置。

js
const chord = d3.chord();

chord(matrix)

原始碼 · 計算指定大小為 n×n 的正方形 matrix 的弦圖配置,其中 matrix 表示 n 個節點的網路(一個完全有向圖)之間的定向流。

chord(matrix) 的回傳值是一個 chords 陣列,其中每個和弦代表兩個節點 ij (其中 i 可能等於 j) 之間的雙向流動,並是一個具有下列屬性的物件

  • source - 來源子群組
  • target - 目標子群組

每個來源和目標子群組也是一個具有下列屬性的物件

  • startAngle - 以弧度為單位的起始角度
  • endAngle - 以弧度為單位的結束角度
  • value - 流動值 matrix[i][j]
  • index - 節點索引 i

和弦通常傳遞給 ribbon 以顯示網路關係。

傳回的陣列僅包含值 matrix[i][j] 或 matrix[j][i] 為非零的和弦物件。此外,傳回的陣列僅包含唯一的和弦:給定的和弦 ij 代表從 ij ji 的雙向流動,且不包含重複的和弦 jiij 的選擇方式是和弦的來源始終代表 matrix[i][j] 和 matrix[j][i] 中較大的值。

chords 陣列也定義了一個長度為 n 的次要陣列,chords.groups,其中每個群組代表節點 i 的合併流出,對應於元素 matrix[i][0 … n - 1],並是一個具有下列屬性的物件

  • startAngle - 以弧度為單位的起始角度
  • endAngle - 以弧度為單位的結束角度
  • value - 節點 i 的總流出值
  • index - 節點索引 i

群組通常傳遞給 arc 以在和弦配置的周長周圍產生甜甜圈圖。

chord.padAngle(angle)

來源 · 如果指定 angle,則將相鄰群組之間的填充角度設定為弧度中的指定數字,並傳回此和弦配置。如果未指定 angle,則傳回目前的填充角度,預設為零。

chord.sortGroups(compare)

來源 · 如果指定 compare,則將群組比較器設定為指定的函式或 null,並傳回此和弦配置。如果未指定 compare,則傳回目前的群組比較器,預設為 null。如果群組比較器為非 null,則用於依其總流出量對群組進行排序。另請參閱 ascendingdescending

chord.sortSubgroups(compare)

原始碼 · 如果指定了 compare,則將子群組比較器設定為指定的函式或 null,並傳回此弦圖配置。如果未指定 compare,則傳回目前的子群組比較器,其預設為 null。如果子群組比較器非 null,則會用來根據給定群組 i 的總流出量,對應於 matrix[i][0 … n - 1] 的子群組進行排序。另請參閱 ascendingdescending

chord.sortChords(compare)

原始碼 · 如果指定了 compare,則將弦比較器設定為指定的函式或 null,並傳回此弦圖配置。如果未指定 compare,則傳回目前的弦比較器,其預設為 null。如果弦比較器非 null,則會用來根據 的組合流進行排序;這只會影響弦的 z 順序。另請參閱 ascendingdescending

chordDirected()

範例 · 原始碼 · 一個用於單向流的弦圖配置。從 ij 的弦僅從 matrix[i][j] 中的值產生。

chordTranspose()

原始碼 · 一個轉置的弦圖配置。對於突顯流出(而非流入)很有用。