コンテンツにスキップ

発散スケール

発散スケールは、連続的な数値入力ドメインを連続的な出力範囲にマップするという点で、線形スケールに似ています。線形スケールとは異なり、発散スケールの入力ドメインと出力範囲は常に正確に3つの要素を持ち、出力範囲は通常、値の配列ではなく、補間器として指定されます。発散スケールは通常、色エンコーディングに使用されます。d3-scale-chromaticも参照してください。これらのスケールは、反転および補間メソッドを公開しません。また、発散スケールの対数累乗、および対称対数のバリアントもあります。

scaleDiverging(domain, interpolator)

· ソース · 指定されたドメイン補間器関数または配列を使用して、新しい発散スケールを構築します。

js
const color = d3.scaleDiverging([-1, 0, 1], d3.interpolateRdBu);

ドメインが指定されていない場合、デフォルトは[0, 0.5, 1]になります。

js
const color = d3.scaleDiverging(d3.interpolateRdBu);

補間器が指定されていない場合、デフォルトは恒等関数になります。

js
const identity = d3.scaleDiverging();

スケールが適用されると、補間器は通常[0, 1]の範囲の値で呼び出されます。ここで、0は極端な負の値、0.5は中立の値、1は極端な正の値を表します。

補間器が配列の場合、スケールの3要素の出力範囲を表し、d3.interpolateおよびd3.piecewiseを使用して補間関数に変換されます。

js
const color = d3.scaleDiverging(["blue", "white", "red"]);

発散スケールのドメインは数値である必要があり、正確に3つの値を含んでいる必要があります。

発散.interpolator(interpolator)

補間器が指定されている場合、スケールの補間器を指定された関数に設定します。

js
const color = d3.scaleDiverging().interpolator(d3.interpolateRdBu);

補間器が指定されていない場合、スケールの現在の補間器を返します。

js
color.interpolator() // d3.interpolateRdBu

発散.range(range)

linear.rangeを参照してください。rangeが指定されている場合、指定された3要素の配列はpiecewiseを使用して補間関数に変換されます。

js
const color = d3.scaleDiverging().range(["blue", "white", "red"]);

上記は以下と同等です

js
const color = d3.scaleDiverging(d3.piecewise(["blue", "white", "red"]));

発散.rangeRound(range)

linear.rangeを参照してください。rangeが指定されている場合、補間器としてinterpolateRoundが暗黙的に使用されます。

scaleDivergingLog(domain, range)

対数スケールと同様に、対数変換を使用した新しい発散スケールを返します。

scaleDivergingPow(domain, range)

累乗スケールと同様に、指数変換を使用した新しい発散スケールを返します。

scaleDivergingSqrt(domain, range)

平方根スケールと同様に、平方根変換を使用した新しい発散スケールを返します。

scaleDivergingSymlog(domain, range)

対称対数スケールと同様に、対称対数変換を使用した新しい発散スケールを返します。