我是 d3 的新手,觉得有点不知所措。我有一个包含每个样本的 y1 和 y2 的数组。
waveformData = [[79, 140], [67, 145], [70, 152], ..... ]
目前我是这样画的:
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");
}
它有效,但我并没有按照 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");
关于javascript - 用 D3 绘制波形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26207636/