左から右へと移行するための、あなただけのその最終値に、transition()
後、ゼロに初期の幅を設定する必要があります。
bar.append("rect")
.attr("transform", "translate("+labelWidth+", 0)")
.attr("height", barHeight)
.attr("width", 0)//this is the initial value
.transition()
.duration(1500)//time in ms
.attr("width", function(d){
return scale(d.value);
});//now, the final value
ここではフィドルです:https://jsfiddle.net/8v88gwqn/
も、あなたは個別に各バーを移行するために遅延を使用することができます。ここでは
bar.append("rect")
.attr("transform", "translate("+labelWidth+", 0)")
.attr("height", barHeight)
.attr("width", 0)
.transition()
.duration(1500)
.delay(function(d,i){ return i*250})//a different delay for each bar
.attr("width", function(d){
return scale(d.value);
});
は遅延とフィドルです:https://jsfiddle.net/8v88gwqn/1/
バーに最初の幅を0にして、バーの幅を現在の幅に変更するとどうなりますか? – Ashitaka