Javascript D3.js中的数据输入和多次转换
我使用d3.js在一个svg中绘制了多个形状。有点像:Javascript D3.js中的数据输入和多次转换,javascript,d3.js,Javascript,D3.js,我使用d3.js在一个svg中绘制了多个形状。有点像: var draw = svg.selectAll("draw").data(data[0]).enter(); draw.append... //Drawing first group of shapes draw.append... //Drawing second group of shapes 我知道这可能不是最好的方法,但效果很好。现在我想给它添加一些transions。我还有数据[1],我想让数据[0]中的绘图持续5秒,然后
var draw = svg.selectAll("draw").data(data[0]).enter();
draw.append... //Drawing first group of shapes
draw.append... //Drawing second group of shapes
我知道这可能不是最好的方法,但效果很好。现在我想给它添加一些transions。我还有数据[1]
,我想让数据[0]
中的绘图持续5秒,然后转换到数据[1]
<代码>数据[0]和数据[1]
具有相同的格式和所有内容。
我知道基本的转换方式,在这种情况下,我可以在开始时输入
数据[0]
和数据[1]
,然后在每个附加中添加.transition().duration(2000).attr(“…”).delay(5000)
;但这相当复杂,如果有数据[2],就意味着更多的代码。我怎样才能用更简单的方法来做呢?有人帮我吗?谢谢。您可以使用循环创建这些转换:
for(var i = 1; i < data.length; i++) {
svg.selectAll("draw").data(data[i])
.transition().duration(2000).delay(i * 5000)
.attr(...);
}
for(变量i=1;i