我在过渡后看到了奇怪的闪烁效果。这很不寻常,主要是因为我没有以任何方式设置不透明度(我希望颜色保持不变)。任何想法为什么会发生这种情况?要了解代码的外观,这里有一个示例。
var theBars = this.vis.selectAll(".bar" + source.id).data(this.columns);
theBars.enter().insert("svg:rect")
//some attributes
.style("fill", sourceColor)
//some other attributes
theBars.transition()
//.duration(.01)
.attr("y", function(d) {
return this.settings.base - this.getStackedBarHeight(d, source.id);
}.bind(this))
.attr("height", function(d) {
return this.getBarHeight(d.counters[source.id]);
}.bind(this));
可以看出,只有一条线设置颜色。我最初认为我在绑定时犯了一些错误,但在检查了此处和 Google Groups 上的一些帖子后,我发现这种闪烁通常出现在您有也会改变对象不透明度的转换时。不幸的是,我没有改变任何不透明度,我只是做了一个过渡。执行该转换 (theBars.transition) 时,此效果会出现在所有主要浏览器中。
我尝试从堆叠条中选择一个条并修改其高度。
最好的祝福!