我在d3中创建了一些圈子。点击这些圈子时,我需要添加更多圈子,并使现有的圈子消失(不应再删除它们,因为我将再次使用它们)。在点击其他元素时添加SVG元素
我现在这样做的方式是通过一个监听器来监听原始圆圈上的单击事件。 (这些与.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的左上角),为什么会发生这种情况?我如何解决这个问题?
谢谢。
编辑- 一两张图片可能会有所帮助。
您应该报告的错误在任何UA你使用。不应该呈现没有r属性的圆圈,Firefox和Opera只显示一个圆圈。 – 2013-04-07 15:22:29
@RobertLongson它实际上是两个屏幕截图,而不是一个错误。我现在给他们贴上标签,希望他们更清楚。 – WiredPrairie 2013-04-07 15:50:56
@Progro - 好点。我的HTML帽子(边框半径:))。我修正了答案,不建议半径可以通过诸如'subNode'这样的类来设置。 – WiredPrairie 2013-04-07 20:52:56