让我说我有一些类线的元素。所以我可以写:
var lines = svg.selectAll('.line');
lines.exit().remove();
lines.transition().append('text')
lines.enter().append('g').attr('class', 'line');
然后为每个g.line元素调用append(' text')。如果我想调用自定义函数f而不是追加怎么办?我想这应该使用call函数,但是:
lines.call(f)
只会调用f一次(包含所有数据,但我想为每个元素单独启动f)
幸运的是发现这是可能的,不确定是否有更好的smth: lines.transition()。each(function(datum,index){ renderDataLine(d3.select(this),data [index],...); });