Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript D3.js缩放和对数缩放的使用_Javascript_D3.js - Fatal编程技术网

Javascript D3.js缩放和对数缩放的使用

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

首先,直方图没有正确缩放,我知道这与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 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)是负无穷大,或者用Javascript
negative_infinity
。非常感谢您的解释,我能够包装这个东西。