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

时间:2017-02-10 00:50:46

标签: d3.js interpolation linear-interpolation

这是我的代码:

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

我没有告诉我5000对应淡蓝色,而是得到错误" r0不是函数"。我做错了什么?

1 个答案:

答案 0 :(得分:6)

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

var color = d3.scaleSequential(d3.interpolateBlues)
    .domain([0, 10000])
console.log(color(5000));

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