我有一个场景,我想使用数据连接为每个数据元素附加 2 个新元素。
我最初是在做这样的事情:
var y = d3.selectAll("line")
.data([123, 456]);
y.enter().append("line"); // assume attr and style set
y.enter().append("line");
y.transition()...
在我仔细考虑之前,我期望在我的转换中使用的更新选择将包含来自输入选择的合并附加。但当然这不起作用,因为每个数据元素的选择中只有 1 个插槽。
因此,我更改了代码,使其仍然使用相同的 enter() 选择两次,然后重新选择新元素以进行转换。
这种方法有效,但我的问题是这是否是推荐的处理方式。附加/插入后是否应该确保停止使用 enter()?或者只要我记得更新选择只包含最后创建的元素就可以使用它来创建多个元素?
如果事实证明这是错误的,那么实现这一目标的更好方法是什么?