我在 d3 中制作了一些圆圈。单击这些圆圈时,我需要添加更多圆圈并使现有圆圈消失(它们不应该被删除,因为我将再次使用它们)。
我现在这样做的方式是通过一个监听器来监听原始圆圈上的点击事件。(这些是用.selectAll('circle.nodes')
.on("click",function(d){
//do stuff}).duration(1000);
populateSubCircles);
我希望子圆圈出现在一个中心周围(我查看了我的计算,它们似乎是正确的)。
var populateSubCircles = function(){
var subCircles = nodesG.selectAll("circles.subNodes").data(....
这正确地添加了辅助圆,并且 cx 和 cy 似乎是正确的(离中心圆不太远)。但是,它们似乎没有出现在页面上(它们出现在左上角的 0,0 处)。为什么会这样?我该如何解决?
谢谢。
编辑-一两张图片可能会有所帮助。