javascript - 绘制许多 d3 svg 对象时循环更新显示

标签 javascript d3.js svg

我通过 d3.js 绘制了很多带有一些循环的圆

var line = d3.svg.line()
var  r = 1


var svg = d3.select("body").append("svg:svg")
    .attr("width", 1000)
    .attr("height",1000)

for ( var x=0; x< 1000 ; x+=3*r)
  {
    for ( var y=0; y< 1000 ; y+=3*r)
    {
      svg.append("circle")
          .attr("cx", x)
          .attr("cy", y)
          .attr("r", r)
    }
  }

fiddle

浏览器似乎只在循环结束后才刷新显示。然后所有对象立即出现。我怎样才能在每个元素之后强制刷新,以便我可以看到图像的进度?

谢谢

最佳答案

我会单独创建数据,然后使用转换:

var data = [];
for ( var x=0; x< 1000 ; x+=3*r) {
  for ( var y=0; y< 1000 ; y+=3*r) {
    data.push([x, y]);
  }
}

svg.selectAll("circle").data(data).enter()
   .append("circle")
   .attr("cx", function(d) { return d[0]; })
   .attr("cy", function(d) { return d[1]; })
   .attr("r", r)
   .attr("opacity", 0)
   .transition()
   .duration(100)
   .delay(function(d, i) { return i * 100; })
   .attr("opacity", 1);

关于javascript - 绘制许多 d3 svg 对象时循环更新显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32974794/

相关文章:

javascript - 我怎样才能在我的网站上有多个 Accordion 下拉菜单。 HTML、CSS JavaScript

javascript - 带有 JSON 日期的 D3 v4 折线图

javascript - 点击浏览器 "back"按钮显示 JSON 而不是 HTML(使用 Rails 和 d3.js)

javascript - 添加带有点 svg Canvas 的图像

jquery - 半六边形悬停效果

javascript - 绑定(bind)下拉(选择)列表的初始/默认值

java - Phonegap 设备就绪事件

javascript - 如何替换 Canvas onclick 上的图像?

javascript - D3.stratify 未捕获错误 : ambiguous: Distributive property

html - SVG 路径图在 Firefox 中被截断