【问题标题】:Normalize numbers to 100 using D3 range?使用 D3 范围将数字标准化为 100?
【发布时间】:2014-02-01 23:50:07
【问题描述】:

我正在尝试获取给定的数字数组并将它们标准化为 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

【问题讨论】:

    标签: javascript arrays d3.js normalization


    【解决方案1】:

    试试:

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

    【讨论】:

    • 噢!是的.. 我只是注意到我需要 arr.sort().reverse() 我正在为域的顶部边界输入最低值.. 我知道这很简单(facepalm)谢谢!
    猜你喜欢
    • 2016-10-31
    • 2018-12-12
    • 2016-08-19
    • 2018-06-15
    • 2019-03-02
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 2019-12-23
    相关资源
    最近更新 更多