我的理解是,组中的绑定数据具有将数据传播到组中所有元素的效果
我注意到,当我将数据绑定到一个组时,我追加的所有元素也会获取数据。但是,如果我更新数据并重新绑定到组,则新数据不会传播到组中的元素。
例如,在更改dataLegend并执行此操作时
var g = legend.selectAll("g")
.data(dataLegend);
g.selectAll("text")
.text(function(d) {
return d.term; })
text元素似乎没有改变它的值。
任何人都可以给我任何评论,看看这是否有意义?
答案 0 :(得分:2)
在D3中传播绑定数据的操作是.append()
,.insert()
和.select()
。 .selectAll()
不传播数据。如果每个text
元素下只有一个g
元素,则可以使用.select()
,这也会更新绑定数据。否则,您必须自己绑定更新的数据。