interpolate property

Interpolate<Y> get interpolate
inherited

The scale’s range interpolator factory.

This interpolator factory is used to create interpolators for each adjacent pair of values from the range; these interpolators then map a normalized domain parameter t in [0, 1] to the corresponding value in the range. See d4_interpolate for more interpolators.

For example, consider a diverging color scale with three colors in the range:

var color = ScaleLinear(
  domain: [-100, 0, 100],
  range: ["red", "white", "green"],
  interpolate: interpolate,
);

Two interpolators are created internally by the scale, equivalent to:

var i0 = interpolate("red", "white"),
    i1 = interpolate("white", "green");

A common reason to specify a custom interpolator is to change the color space of interpolation. For example, to use HCL (see interpolateHcl):

var color = ScaleLinear(
  domain: [10, 100],
  range: ["brown", "steelblue"],
  interpolate: interpolateHcl,
);

Or for Cubehelix with a custom gamma (see interpolateCubehelixGamma).

var color = ScaleLinear(
  domain: [10, 100],
  range: ["brown", "steelblue"],
  interpolate: interpolateCubehelixGamma(3),
);

Implementation

Interpolate<Y> get interpolate => _interpolate;
set interpolate (Interpolate<Y> interpolate)
inherited

Implementation

set interpolate(Interpolate<Y> interpolate) {
  _interpolate = interpolate;
  _rescale();
}