我有以下数组
var data = [
[{"time": 1, "value": 2.1}, {"time": 2, "value": 1.1}],{"time": 3, "value": 3.1}],
[{"time": 1, "value": 5.3}, {"time": 2, "value": 0.1}, {"time": 3, "value": 6.1}]
];
我需要找到整个数组中的最大时间和值。不太有效的代码是
var x = d3.scale.linear()
.domain([1, d3.max(data, function(d,i){ return d[i].time;})])
.range([0, width]);
出于某种原因,我得到的最大时间为 2,而不是 3。即使我使用具有更多点的更大数据集,我仍然无法获得实际的最大值。
感谢任何帮助。
最佳答案
您的数据是一个或多个数组。如果您想要“最大值中的最大值”,则需要考虑嵌套。一种方法:
.domain([1, d3.max(data, function(arrayOfDs, i) {
return d3.max(arrayOfDs, function(d, i) { return d.time; });
})])
关于javascript - 使用 d3js 绘制简单的多线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14972627/