コンテンツにスキップ

コード

コードレイアウトは、コード図を生成するための角度を計算します。

chord()

ソース · デフォルト設定で新しいコードレイアウトを構築します。

js
const chord = d3.chord();

chord(matrix)

ソース · 指定されたサイズの正方行列*matrix*のコードレイアウトを計算します。ここで、*matrix*は*n*個のノードのネットワーク(完全有向グラフ)間の有向フローを表します。

chord(matrix)の戻り値は*chords*の配列です。各コードは、2つのノード*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*は含まれません。コードのソースが常に*matrix*[ *i* ][ *j* ]と*matrix*[ *j* ][ *i* ]の大きい方を表すように*i*と*j*が選択されます。

chords配列は、長さが*n*の2次配列*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以外の場合、合計流出量でグループをソートするために使用されます。昇順および降順も参照してください。

chord.sortSubgroups(compare)

ソース · *compare*が指定されている場合、サブグループコンパレータを指定された関数またはnullに設定し、このコードレイアウトを返します。*compare*が指定されていない場合、現在のサブグループコンパレータ(デフォルトはnull)を返します。サブグループコンパレータがnull以外の場合、特定のグループ*i*の*matrix*[ *i* ][ 0 … *n* - 1 ]に対応するサブグループを、合計流出量でソートするために使用されます。昇順および降順も参照してください。

chord.sortChords(compare)

ソース · *compare*が指定されている場合、コードコンパレータを指定された関数またはnullに設定し、このコードレイアウトを返します。*compare*が指定されていない場合、現在のコードコンパレータ(デフォルトはnull)を返します。コードコンパレータがnull以外の場合、コードをその結合フローでソートするために使用されます。これはコードの*z*-順序にのみ影響します。昇順および降順も参照してください。

chordDirected()

· ソース · 単方向フローのコードレイアウト。*i*から*j*へのコードは、*matrix*[ *i* ][ *j* ]の値のみから生成されます。

chordTranspose()

ソース · 転置されたコードレイアウト。流入フローではなく、流出フローを強調するのに役立ちます。