我在这里添加了Plunker,如果您在下拉列表中选择了第2组,则域名将设置为9,而不是我预期的那样,即10。 / p>
在documentation中,它说明了以下关于nice()
扩展域,使其以良好的圆值开始和结束。
如果你有一个动态域名,那就进一步向下说:
如果需要,您必须在设置新域后重新调整比例。
我如何实现这一目标?我认为在我的更新功能中使用.domain().nice()
会解决这个问题吗?或者这是一个浮点问题,因为javascript中的所有数字都是64位浮点数?
答案 0 :(得分:2)
9是一个圆数!
如果您查看source code,您会看到"四舍五入" 只是使用interval.floor
和{{1} }:
interval.ceil
这是domain[i0] = interval.floor(x0);
domain[i1] = interval.ceil(x1);
对象:
interval
另一方面,如果你想要四舍五入到最接近的十,那就做:
{
floor: function(x) { return pows(Math.floor(logs(x))); },
ceil: function(x) { return pows(Math.ceil(logs(x))); }
}
以下是更新的Plunker:https://plnkr.co/edit/8rFeodCk0Jj74JT5osJy?p=preview