べき乗スケール
べき乗(「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 の場合、べき乗スケールは事実上線形スケールになります。