是否可以在d3中使用颜色域和数字范围创建比例?
我尝试了以下内容:
var colorScale = d3.scale.linear().range(["red", "white"]).domain([3, 9.5])
console.log('cs:', colorScale(4));
console.log('cs:', colorScale.invert(colorScale(4)));
但输出并不令人鼓舞:
cs: #ff2727
cs: NaN
这是一项不可能完成的任务,还是我做错了什么?
答案 0 :(得分:3)
注意:仅当输出范围是数字时才支持反转运算符! D3允许输出范围为任何类型;在引擎盖下,使用d3.interpolate或您选择的自定义插补器将标准化参数t映射到输出范围中的值。因此,输出范围可以是颜色,字符串或甚至任意对象。因为没有设施可以解除" uninterpolate"任意类型,反转运算符目前仅支持数值范围。
所以不,你不能这样做。