D3根据数据数组中的上一个元素定义行

时间:2018-07-14 16:25:11

标签: d3.js

使用D3(v4),有一种方法可以定义我的行,以便一个值必须等于先前的值。换句话说,如果分组变量发生变化,我可以不绘制这部分线吗?我知道以下操作无效,但是类似...

var line = d3.line().defined(function(d,i) { return d.year === d[i-1].year; })

谢谢!

1 个答案:

答案 0 :(得分:1)

我知道了。您必须在定义的函数中引用实际的数据变量,并且必须提供一些逻辑来跳过第一个索引,例如:

var line = d3.line().defined(function(d,i) {
  if(i>0) {
       return d.year === data[i-1].year;
    } else {
       return d.year === d.year;
    }
}