移行後に奇妙なちらつき効果が見られます。主に、不透明度をまったく設定していないため(色を同じままにしたい)、珍しいです。なぜこれが起こるのですか?コードがどのように見えるかを理解するために、ここに例を示します。
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));
ご覧のとおり、1 本の線だけが色を設定しています。私は当初、バインディングでいくつかの間違いを犯したと思いましたが、ここと Google グループのいくつかの投稿を確認した後、オブジェクトの不透明度も変更するトランジションがある場合に、このちらつきが通常発生することを発見しました. 残念ながら、不透明度は変更せず、トランジションを行うだけです。この効果は、トランジション (theBars.transition) を実行すると、すべての主要なブラウザーで表示されます。
積み重ねられたバーからバーを選択し、その高さを変更しようとしています。
よろしくお願いします!