我使用d3.scaleQuantile()
来获取某些特定的数字输出,d3.scaleQuantile()
的范围是一个由8个数字组成的数组。我console.log()一个数字在范围的中间位置,它返回该范围中的第一个。代码看起来像这样scaleQuantile函数不输出我所期望的
var sortMass = d3.scaleQuantile()
.domain([minMass, maxMass])
.range([2000,4000,6000,8000,100000,120000])
console.log(sortMass(6500)) // here shows 2000
如果它返回6000或8000,那就更有意义了。但我不明白为什么输出是2000.我读过D3文档,但我仍然感到困惑。任何人都可以解释d3.scaleQuantile()
函数是如何工作的?
非常感谢Gerardo!答案非常明确,非常有帮助。但根据你的回答,我仍然对你说的话感到困惑>域名被分成了相同的部分。我确实使用范围的限制作为minMass和maxMass。你能否进一步解释一下,域名是如何平等分配的?为什么它不起作用?再次感谢! –
如果使用2000到120000,则有118000的缺口。除以6大约是20000.因此,仅在20000之后输出范围将是下一个。 –
非常感谢。现在我完全明白了。 –