在按钮上单击打开一个新窗口并使用D3绘制多个大圆圈

时间:2015-12-11 18:51:34

标签: javascript d3.js svg

此问题已在此处得到解答:On button click open a new window and draw a large circle with D3

Mark给出的解决方案中:
http://jsfiddle.net/aj3g5tqg/38/

sampleSVG.append('svg')
.attr('width', 500)
.attr('height', 500) //<-- give the SVG some size
.append("circle")
.style("stroke", "gray")
.style("fill", "red")
.attr("r", 200)
.attr("cx", 250)
.attr("cy", 250)
...

我无法理解如何在同一个svg中附加多个圆圈,比如在for循环中添加。
怎么做?提前谢谢!

1 个答案:

答案 0 :(得分:0)

只需延伸附加单个圆圈的部分即可附加到循环内部。将第一个svg追加的结果转换为变量,然后迭代并追加到它:

var mySVG = sampleSVG.append('svg')
    .attr('width', 500)
    .attr('height', 500); //<-- give the SVG some size

for (var i=0; i < 250; i = i+10){
    mySVG.append("circle")
      .style("stroke", "gray")
      .style("fill", "red")
      .attr("r", 200)
      .attr("cx", i)
      .attr("cy", i)
}