D3.js 缩放时更新多个笔刷

D3.js 缩放时更新多个笔刷,d3.js,zooming,brush,D3.js,Zooming,Brush,这里是D3的新成员。我正在尝试将(ex1)与(ex2)合并。 其想法是,用户将能够在Ex1的焦点图表上创建多个笔刷,以便对数据进行注释。这是我能做到的。但是,在使用ex2的zoomed功能进行缩放后,我只能更新图表上的一个(第一个)注释笔刷位置: .select("#brush-0").call(brushes[0].brush.move, lastSelection.map(t.applyX, t)); 其中,t是缩放变换,lastSelection是从创建的最后一个笔刷

这里是D3的新成员。我正在尝试将(ex1)与(ex2)合并。 其想法是,用户将能够在Ex1的焦点图表上创建多个笔刷,以便对数据进行注释。这是我能做到的。但是,在使用ex2的
zoomed
功能进行缩放后,我只能更新图表上的一个(第一个)注释笔刷位置:

.select("#brush-0").call(brushes[0].brush.move, lastSelection.map(t.applyX, t));
其中,
t
是缩放变换,
lastSelection
是从创建的最后一个笔刷中进行的选择。我知道他很粗鲁,但至少表现得和预期的一样。 在缩放和平移后,我希望能够以可从
缩放
功能调用的方式更新存储在
笔刷
数组中的所有笔刷。救命啊

编辑:
我在这里用我的(有缺陷的)解决方案尝试重新创建了这个问题:

这类作品:
brush.forEach(brushObject=>{var brushNode=document.getElementById('brush-'+brushObject.id);var brushSelection=d3.brushSelection(brush);if(brushSelection!=null){focus.select.(“#brushObject-”+brushObject.id)。调用(brushObject.brush.move,brushSelection.map(t.applyX,t));})但是,它生成的比例与实际缩放变换不对应。当你准备好小提琴时,请回复,然后我们可以看一看。请看这把小提琴:这里我再现了我的问题,我可以更新画笔的比例和位置,但方式与比例不一致。我也不确定使用forEach是否是正确的方法。请帮助这类作品:
brush.forEach(brushObject=>{var brushNode=document.getElementById('brush-'+brushObject.id);var brushSelection=d3.brushSelection(brush);if(brushSelection!=null){focus.select.(“#brush-”+brushObject.id)。调用(brushObject.brush.move,brushSelection.map(t.applyX,t))})但是,它生成的比例与实际缩放变换不对应。当你准备好小提琴时,请回复,然后我们可以看一看。请看这把小提琴:这里我再现了我的问题,我可以更新画笔的比例和位置,但方式与比例不一致。我也不确定使用forEach是否是正确的方法。请帮忙