快速熟悉 D3.js。我注意到的一个项目是,如果我有一系列圆圈(即散点图)并且我将工具提示附加到从它们的源数据派生的它们,那么当我过滤数据时更新这些工具提示似乎存在问题和重画圆圈。这是过滤数据时调用的代码的一部分。请注意,过滤器是通过鼠标悬停在不同但相关的图中调用的:
circs = itemCircles.selectAll('circle')
.data(filteredData)
.attr("cy", function (d) { return scatY(d.sim_fnl_occ); } )
.attr("cx", function (d) { return scatX(d.sim_curr_occ); } )
.attr('r', 5)
;
circs.enter().append('circle')
.data(filteredData)
.attr("cy", function (d) { return scatY(d.sim_fnl_occ); } )
.attr("cx", function (d) { return scatX(d.sim_curr_occ); } )
.attr('r', 5)
;
circs.append("svg:title")
.text(function(d) { console.log(d.sim_curr_occ); // looking good!
return d.sim_curr_occ });// looking bad:(
将新子集数据的正确值写入控制台;但是工具提示本身的数据不正确。实际上,看起来新绘制的圆圈保留了原始工具提示。我应该指出,圆圈是正确绘制的,只有通过 svg:title 的工具提示是不正确的。关于我做错了什么的任何指导?