我使用d3序数比例来定义映射:
d3.scale.ordinal().range(["outputa", "outputb", "outputc", ]).domain(["inputa", "inputb", "inputc"]);
无论如何,我可以从序数中删除特定域(例如“inputb”),从而释放相应的范围元素(“outputb”),同时保持其他映射不变? (“inputa”仍然映射到“outputa”等。)
答案 0 :(得分:0)
您可以获取域/范围并直接修改它:
var domain = scale.domain(),
range = scale.range();
var indexToRemove = // use index directly or find in either array
domain.slice(indexToRemove, indexToRemove+1);
range.slice(indexToRemove, indexToRemove+1);
scale.domain(domain);
scale.range(range);