IE中实时图的D3转换不平滑

d3 transition of realtime graph unsmooth in ie

本文关键字:转换 平滑 D3 实时 IE      更新时间:2023-09-26

我正在使用Mike Bostock和团队的超酷d3.js,并且刚刚实现了我自己的滑动时间序列图表版本,如Mike的页面(第二个版本)所示。

不幸的是,滑动效果(甚至是Mike的版本)在Internet Explorer(<11版本)中很糟糕,而在Firefox中则完全流畅。连续滑动效果是通过反复调用 tick() 函数来实现的,这就是 IE 似乎有问题的地方。

让我认为可能有一些解决方案的是,即使在IE中,第一次过渡也是平滑的。

我尝试使用setInterval作为替代方案,但没有成功。任何人都可以想到解决方案(除了停止使用即..)?

.attr("transform", null)替换为 .attr("transform", "")

例如:

path
    .attr("d", line)
    // ******************************
    .attr("transform", "") // <- here 
    // ******************************
    .transition()
      .duration(750)
      .ease("linear")
      .attr("transform", "translate(" + x(-1) + ")")
      .each("end", function() { tick(path, line, data, x); });