在d3.js中反转色标

时间:2015-03-26 13:45:53

标签: d3.js

是否可以在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

这是一项不可能完成的任务,还是我做错了什么?

1 个答案:

答案 0 :(得分:3)

根据the documentation

  

注意:仅当输出范围是数字时才支持反转运算符! D3允许输出范围为任何类型;在引擎盖下,使用d3.interpolate或您选择的自定义插补器将标准化参数t映射到输出范围中的值。因此,输出范围可以是颜色,字符串或甚至任意对象。因为没有设施可以解除" uninterpolate"任意类型,反转运算符目前仅支持数值范围。

所以不,你不能这样做。