d3 / d3-interpolate

Interpolate numbers, colors, strings, arrays, objects, whatever!
https://d3js.org/d3-interpolate
ISC License
493 stars 70 forks source link

NaN RGB values if passing zero to interpolateRgb #114

Open songololo opened 1 year ago

songololo commented 1 year ago

For some reason I am getting NaN values when trying to use zero with the RGB interpolator. Using 0.01 instead of zero seems to fix the problem:

const myColor = rgb(97, 80, 8, 1)
const myColorTransparent = rgb(97, 80, 8, 0.0)
const myColorMap = interpolateRgb(myColorTransparent, myColor)
console.log(color(myColorMap(0.0)))
// returns Rgb {r: NaN, g: NaN, b: NaN, opacity: 0}

const myColor = rgb(97, 80, 8, 1)
const myColorTransparent = rgb(97, 80, 8, 0.01)
const myColorMap = interpolateRgb(myColorTransparent, myColor)
console.log(color(myColorMap(0.0)))
// returns Rgb {r: 97, g: 80, b: 8, opacity: 0.01}