コンテンツにスキップ

べき乗スケール

べき乗(「pow」)スケールは線形スケールに似ていますが、出力範囲値が計算される前に、入力ドメイン値に指数変換が適用される点が異なります。各範囲値 *y* は、ドメイン値 *x* の関数として *y* = *mx^k* + *b* と表すことができます。ここで、*k* は指数値です。べき乗スケールは負のドメイン値もサポートしており、その場合は入力値と結果の出力値に -1 が乗算されます。

scalePow(domain, range)

· ソース · 指定されたドメイン範囲指数 1、デフォルト補間器、およびクランプが無効になっている新しいべき乗スケールを構築します。

js
const x = d3.scalePow([0, 100], ["red", "blue"]).exponent(2);

*domain* または *range* が指定されていない場合、それぞれデフォルトで [0, 1] になります。

scaleSqrt(domain, range)

· ソース · 指定されたドメイン範囲指数 0.5、デフォルト補間器、およびクランプが無効になっている新しいべき乗スケールを構築します。

js
const x = d3.scaleSqrt([0, 100], ["red", "blue"]);

*domain* または *range* が指定されていない場合、それぞれデフォルトで [0, 1] になります。これは `d3.scalePow(…).exponent(0.5)` と同等の便利なメソッドです。

*pow*.exponent(exponent)

· ソース · *exponent* が指定されている場合、現在の指数を指定された数値に設定し、このスケールを返します。

js
const x = d3.scalePow([0, 100], ["red", "blue"]).exponent(2);

*exponent* が指定されていない場合、現在の指数(デフォルトは 1)を返します。

js
x.exponent() // 2

*exponent* が 1 の場合、べき乗スケールは事実上線形スケールになります。