我有一个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);
值。我希望跳过这些并在每行的点之间进行插值。
答案 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]};
})
};
});