javascript - 使用 d3js 绘制简单的多线图

标签 javascript graph d3.js multiline

我有以下数组

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/

相关文章:

algorithm - 查找树中的公共(public)子树

javascript - 返回不在域中的项目的默认颜色,使用 d3.js scale ordinal

javascript - D3 树状图调用产生 NaN x0、x1、y0、y1 值

javascript - 将用户选择添加到数组中

javascript - 延迟 JavaScript 的函数执行

r - 物种积累图中的图例

python - 将分类器特征重要性的最大值传递给 Bokeh 图中的 x_range

javascript - 如何在给定的 map 投影中执行 d3.svg.arc?

javascript - Mongoose 模型中的 model 和 model._doc 有什么区别?

javascript - 带有 setInterval 的 Angular 2 Observable 未使用异步管道在模板中更新