寻找D3方法绘制多系列折线图的平均线

时间:2013-12-12 09:18:09

标签: d3.js

我遵循了D3 multi-series line chart示例,可以成功绘制它。现在我需要添加一行,该行是图表中绘制的所有线条的meanaverage。考虑在图表上绘制以下点以绘制两条线:

Line 1 : [x:10, y:10], [x:20, y:20], [x:30, y:10]
Line 2 : [x:10, y:10], [x:20, y:18], [x:30, y:15]

然后平均线将是:

Mean : [x:10, y:(10+10)/2], [x:20,y : (20+18)/2], [x:30,y:(10+15)/2]

是否有一种在D3中绘制此平均线的直接方式,或者我必须计算y的平均值并绘制一条新线?

希望这说清楚。

提前致谢。

1 个答案:

答案 0 :(得分:2)

您可以使用d3.mean来计算此内容。最简单的方法是简单地向cities添加另一个元素:

cities.push({
  name: "mean",
  values: data.map(function(d) {
    return {date: d.date,
      temperature: d3.mean(color.domain().map(function(e) { return +d[e]; } ))};
  })
});

完整示例here