使用D3范围将数字标准化为100?

时间:2014-01-14 01:48:35

标签: javascript arrays d3.js normalization

我正在尝试获取给定数组并将它们标准化为0-100。

显然,我在这里做错了什么,但我不能为我的生活搞清楚。有人请帮助我找到我的愚蠢错误吗?

var arr = [6345, 45678, 34572, 59867, 23517, 20938, 9872345, 2986];

arr.sort();

var scale = d3.scale.linear().domain([0, arr[0]]).range([0, 100]);

for ( var i in arr ){
    console.log(scale(arr[i]));
}

jsFiddle

1 个答案:

答案 0 :(得分:5)

尝试:

var max = d3.max(arr);
var scale = d3.scale.linear().domain([0, max]).range([0, 100]);