绘制具有不同数量值的多行

时间:2016-12-21 16:09:38

标签: d3.js visualization

我有一个csv,在多行系列图表上有两行数据。

数据是这样的:

p

正如您所看到的,数据没有映射到两列,但我希望这两行在同一个图表上。

有没有办法像这样使用两个时间序列的输入法?

如果使用经典的D3输入模式:

date,Presidential Approval,Congressional Approval
1/11/09,,39
2/8/09,64,
3/12/09,59,
4/6/09,61,
4/21/09,,49
4/21/09,63,
6/14/09,61,

它返回空值的var lines = svg.selectAll(".lines") .data(data_array) .enter() .append('g') .attr('data-name', function(d,i) { return d.name; }) .attr('class','lines'); lines .append("path") .attr("d", function(d) { return line(d.values); }) .style("stroke-width", 4.75); 值。我希望跳过这些并在每行的点之间进行插值。

1 个答案:

答案 0 :(得分:1)

我发现这样做的最好方法是在嵌套阶段提前过滤我的数据:

var data_array = keys.map(function(name) {
      return {
        name: name, // values > 0 will be excluded
        values: data.filter(function(d) { return +d[name] > 0 }).map(function(d) {
          return {date: d.date, poll: +d[name]};
        })
      };
    });