D3序数比例:将多个域值映射到相同的范围

时间:2016-02-02 16:07:52

标签: javascript d3.js

我目前正在使用D3序数比例:

var color = d3.scale.ordinal()
  .domain(['a', 'b', 'c', 'd'])
  .range(['#00986F', '#41A5D1', '#695998', '#CD5053']);

还有一些我希望映射到“颜色”的其他域值,这些值已存在于我的范围内。我可以这样做:

var color = d3.scale.ordinal()
  .domain(['a', 'b', 'c', 'd', 'x', 'y'])
  .range(['#00986F', '#41A5D1', '#695998', '#CD5053', '#00986F', '#CD5053']);

我的问题是,还有另一种方法可以将多个域值映射到相同的范围输出而不重复所需的范围值吗?

1 个答案:

答案 0 :(得分:1)

不,在这种情况下,您必须重复这些值。如果您的域名是数字的,您可以使用量化比例或类似的东西,但对于序数值,您必须重复。