d3.js - d3 rangeRound 的意外行为
问题描述
我正在使用这个比例:
scale = d3
.scaleLinear()
.domain([0, 100])
.rangeRound([0, 10])
我不明白为什么scale(5)
返回1
。
不应该到 9 的数字返回 0 吗?
这似乎也很奇怪:
scale(27): 2
scale(28): 3
我要做的就是取一个输入整数并返回一个从 0 到 N 的整数(等分!)
我想我的问题是“我怎样才能修复我的体重秤?”
解决方案
终于找到了一个可行的解决方案!
scale = d3
.scaleQuantize()
.domain([0, 100])
.range(d3.range(10))
// scale(9): 0
// scale(10): 1
// scale(27): 2
// scale(28): 2