Javascript NVD3不处理大值
我在NVD3中实现了一个图形,我遇到了严重的问题。NVD3似乎无法处理包含大值的数据集。图表位于此处:。图表的代码如下所示:Javascript NVD3不处理大值,javascript,graph,d3.js,stacked-area-chart,nvd3.js,Javascript,Graph,D3.js,Stacked Area Chart,Nvd3.js,我在NVD3中实现了一个图形,我遇到了严重的问题。NVD3似乎无法处理包含大值的数据集。图表位于此处:。图表的代码如下所示: nv.addGraph(function() { // Get maximum and minimum Y values var minY = 2 >> 30, maxY = 0; data.forEach(function (d) { d.values.forEach(function (s) {
nv.addGraph(function() {
// Get maximum and minimum Y values
var minY = 2 >> 30,
maxY = 0;
data.forEach(function (d) {
d.values.forEach(function (s) {
minY = Math.min(minY, s.y);
maxY = Math.max(maxY, s.y);
});
});
var chart = nv.models.stackedArea()
.forceY([0, 20])
.height($(container).closest('.chart').height())
.width($(container).closest('.chart').width());
(Object.prototype.toString.call(data) === '[object Array]') || (data = [data]);
d3.select(container)
.attr('width', $(container).closest('.chart').width())
.attr('height', 250)
.datum(data)
.transition().duration(500)
.call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
我将非常感谢任何帮助,因为这让我好几天都挠头了。解决了我的问题。问题在于为Y轴提供的数据是字符串,这使得假定的数字相加变成了字符串串联:
"123" + "902" + "384" + "382" == "123902384382"; // (instead of 1791)
我所做的是遍历数据并将字符串转换为数字