nvd3 没有正确计算最大 y 值
nvd3 does not calculate maximum y value correctly
我在根据数据计算最大 y 值时遇到问题
我用
var maxY = d3.max(d3.merge(data.map(function(d){return d.values})), function(d) {return d.rank});
然后
.yDomain([maxY,1])
设置域。
但是正如您在我的 fiddle (http://jsfiddle.net/Marei/v4ca3pz6/) 中看到的那样,它不起作用 - 虽然我数据中的最大 y 为“12”,但图表显示的最大 Y 为“90” ".
这是我第一次使用 nvd3,所以也许这里有人可以帮我看看我做错了什么?
非常感谢!
更新
感谢 adilapapaya,我通过添加缺失的“+”
为我们的测试弄明白了 fiddle
return +d.rank;
在您的 maxY
计算中。否则,d3.max
将假设输入 String
来计算最大值。
您需要将排名输出为 Number
。尝试换行 d.rank
。例如:parseInt(return d.rank)
我在根据数据计算最大 y 值时遇到问题
我用
var maxY = d3.max(d3.merge(data.map(function(d){return d.values})), function(d) {return d.rank});
然后
.yDomain([maxY,1])
设置域。
但是正如您在我的 fiddle (http://jsfiddle.net/Marei/v4ca3pz6/) 中看到的那样,它不起作用 - 虽然我数据中的最大 y 为“12”,但图表显示的最大 Y 为“90” ".
这是我第一次使用 nvd3,所以也许这里有人可以帮我看看我做错了什么? 非常感谢!
更新
感谢 adilapapaya,我通过添加缺失的“+”
为我们的测试弄明白了 fiddlereturn +d.rank;
在您的 maxY
计算中。否则,d3.max
将假设输入 String
来计算最大值。
您需要将排名输出为 Number
。尝试换行 d.rank
。例如:parseInt(return d.rank)