Javascript D3顺序比例:将多个域值映射到同一范围

Javascript D3顺序比例:将多个域值映射到同一范围,javascript,d3.js,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'])

我目前使用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']);

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

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

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