我在D3.js中设置了一个序数比例,如下所示,到目前为止效果很好:
var color = d3.scale.ordinal().range([ 'blue', 'red', 'green' ]);
color.domain();
console.log(color(0)); // returns 'blue'
但是,我真正想做的是能够将两个数字传递给比例,并让它返回一个特定的蓝色、红色或绿色子阴影——主要阴影取决于第一个数字,子阴影取决于第二个数字。
也许我可以以某种方式将d3.scale.ordinal()与d3.interpolateRgb()结合使用来做到这一点?我不确定 interpolateRgb 是否是正确的选择,因为颜色是否一致很重要,具体取决于输入数字。
所以这就是我想要实现的目标:
color(0, 256); // return a shade of blue
color(0, 257); // return a second shade of blue
color(0, 256); // return the first shade of blue again
在 D3 中实现这一点的任何想法?感谢您的帮助。