【发布时间】:2012-04-30 21:41:38
【问题描述】:
我在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 中实现这一点吗?感谢您的帮助。
【问题讨论】:
标签: javascript d3.js