📄 d3/d3-scale/pow

File: pow.md | Updated: 11/15/2025

Source: https://d3js.org/d3-scale/pow

Skip to content

Return to top

Power scales

=============================================================

Power (“pow”) scales are similar to linear scales , except an exponential transform is applied to the input domain value before the output range value is computed. Each range value y can be expressed as a function of the domain value x: y = mx^k + b, where k is the exponent value. Power scales also support negative domain values, in which case the input value and the resulting output value are multiplied by -1.

scalePow(domain, range)

Examples · Source · Constructs a new pow scale with the specified domain and range , the exponent 1, the default interpolator and clamping disabled.

js

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

If either domain or range are not specified, each defaults to [0, 1].

scaleSqrt(domain, range)

Examples · Source · Constructs a new pow scale with the specified domain and range , the exponent 0.5, the default interpolator and clamping disabled.

js

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

If either domain or range are not specified, each defaults to [0, 1]. This is a convenience method equivalent to d3.scalePow(…).exponent(0.5).

pow.exponent(exponent)

Examples · Source · If exponent is specified, sets the current exponent to the given numeric value and returns this scale.

js

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

If exponent is not specified, returns the current exponent, which defaults to 1.

js

x.exponent() // 2

If the exponent is 1, the pow scale is effectively a linear scale.