Ash*_*ury 1 javascript svg d3.js
我是d3的新手,觉得有点不知所措。我有一个数组,每个样本包含y1和y2。
waveformData = [[79, 140], [67, 145], [70, 152], ..... ]
Run Code Online (Sandbox Code Playgroud)
目前,我正在绘制它,如下所示:
waveformData.forEach(function(data,i){
svg.append("line")
.attr('y1', data[0])
.attr('y2', data[1])
.attr('x1', i +0.5)
.attr('x2', i +0.5)
.attr("stroke-width", 1)
.attr("stroke", "green");
}
Run Code Online (Sandbox Code Playgroud)

它可以工作,但是我并没有在d3的“精神”中做到这一点。有人可以解释如何将d3用于此类用途吗?
D3方式为:
svg.selectAll('line')
.data(waveformData)
.enter().append('line')
.attr('y1', function(d) { return d[0]; })
.attr('y2', function(d) { return d[1]; })
.attr('x1', function(d, i) { return i +0.5; })
.attr('x2', function(d, i) { return i +0.5; })
.attr("stroke-width", 1)
.attr("stroke", "green");
Run Code Online (Sandbox Code Playgroud)