D3.js缩放从数据集中返回错误的值

时间:2013-12-15 08:47:21

标签: javascript csv d3.js

我在d3.js中遇到scales的问题当我在Firefox控制台中键入最小值和最大值时,我将最大值作为最小值,将第二个最大值作为最大值。这有什么问题?

以下是csv文件形式的数据集:

word,occur
obama,11
theguardian,9
world, 8
state, 8
care, 7
pakistan,7
block, 6
blog, 6
healthcare, 5

这是我在控制台中键入的内容以及我得到的值:

    d3.min(dataset, function(d) { return d.occur}); => "11"
    d3.max(dataset, function(d) { return d.occur}); = "9"

d3.max应该返回11和d3.min应该返回我5

1 个答案:

答案 0 :(得分:14)

您可能无法将数据从string转换为number。以下内容应该给出正确的答案:

d3.min(dataset, function(d) { return +d.occur}); 
d3.max(dataset, function(d) { return +d.occur});

但是,您可能希望在阅读后立即将数据的occur列转换为数字:

d3.csv('myfile', function (err, dataset) {     
    dataset.forEach(function (d) { d.occur = +d.occur; });
    // ...
});