如何在[0,1]以外的域中使用d3-scale-chromatic函数?

Ale*_*rie 4 interpolation linear-interpolation d3.js

这是我的代码:

var color = d3.scaleLinear()
    .domain([0, 10000])
    .interpolate(d3.interpolateBlues);
console.log(color(5000));
Run Code Online (Sandbox Code Playgroud)

而不是告诉我5000对应淡蓝色,我得到错误"r0不是一个函数".我究竟做错了什么?

Ale*_*rie 6

好吧,想通了.如果使用定义范围本身的d3.interpolateBlues等函数,则必须使用d3.scaleSequential而不是d3.scaleLinear.正确的代码是:

var color = d3.scaleSequential(d3.interpolateBlues)
    .domain([0, 10000])
console.log(color(5000));
Run Code Online (Sandbox Code Playgroud)

请参阅https://github.com/d3/d3-scale#sequential-scales