nvd3无法正确计算最大y值

时间:2016-01-21 15:31:48

标签: javascript json d3.js nvd3.js

我在计算数据

中的最大y值时遇到问题

我用

var maxY = d3.max(d3.merge(data.map(function(d){return d.values})), function(d) {return d.rank});

然后

.yDomain([maxY,1])

设置域名。

但正如你可以在我的小提琴(http://jsfiddle.net/Marei/v4ca3pz6/)中看到的那样,它不起作用 - 当我的数据中的最大y为“12”时,图表显示最大值为“90”​​。

这是我第一次使用nvd3所以也许有人可以帮助我,看看我做错了什么? 非常感谢你!

更新

感谢adilapapaya我通过添加缺少的“+”来找出我们的测试小提琴

2 个答案:

答案 0 :(得分:2)

return +d.rank;计算中的

maxY。否则,d3.max将计算假定String输入的最大值。

答案 1 :(得分:0)

您需要将排名输出为Number。尝试换行d.rank。例如:parseInt(return d.rank)