Javascript D3.js缩放和对数缩放的使用
首先,直方图没有正确缩放,我知道这与dx值有关,但无法确定。其次,我想将x轴的比例从linear()更改为log(log.base(2))。当我这么做的时候,我会Javascript D3.js缩放和对数缩放的使用,javascript,d3.js,Javascript,D3.js,首先,直方图没有正确缩放,我知道这与dx值有关,但无法确定。其次,我想将x轴的比例从linear()更改为log(log.base(2))。当我这么做的时候,我会 d3.v3.min.js:1 Error: Invalid value for <rect> attribute x="NaN" d3.v3.min.js:1 Error: Invalid value for <rect> attribute width="NaN" d3.v3.min.js:1 Err
d3.v3.min.js:1 Error: Invalid value for <rect> attribute x="NaN"
d3.v3.min.js:1 Error: Invalid value for <rect> attribute width="NaN"
d3.v3.min.js:1 Error: Invalid value for <text> attribute y="NaN"
d3.v3.min.js:1 Error: Invalid value for <text> attribute dx="NaN"
谁能告诉我问题出在哪里
更新:感谢您的快速头脑风暴,我用新的标尺重写了代码。
为什么
NaN
您获得NaN
的原因是我们无法将0
包含在日志刻度的域中(日志(0)是-无穷大
)
下面是日志的示例
var x = d3.scale.log ()
.domain([2, 8])
.range([0, 100])
.base(2)
console.log(x(2)) => 0
console.log(x(4)) => 50
console.log(x(8)) => 100
比例
我认为你目前的评分是正确的,但不是你真正想要的?你能再描述一下吗?为什么
NaN
您获得NaN
的原因是我们无法将0
包含在日志刻度的域中(日志(0)是-无穷大
)
下面是日志的示例
var x = d3.scale.log ()
.domain([2, 8])
.range([0, 100])
.base(2)
console.log(x(2)) => 0
console.log(x(4)) => 50
console.log(x(8)) => 100
比例
我认为你目前的评分是正确的,但不是你真正想要的?你能给出更多的描述吗?只是为了数学上的正确,当x接近0时,log(x)是负无穷大,或者在Javascript
负无穷大
中。非常感谢你的解释,我能够包装这个东西。只是为了数学上的正确,当x接近0时,log(x)是负无穷大,或者用Javascriptnegative_infinity
。非常感谢您的解释,我能够包装这个东西。