score:0

You should contain a transition between start to end:

rects.enter().append("rect")
        .attr("width", 0) //start width
        .attr("height", 0) //start height
        ......
        .transition().duration(750)
            .attr("y", function(d) { return y(d.value); })
            .attr("height", function(d) { return height - y(d.value); }) //end height
            .attr("width", x1.rangeBand()); //end width

hope it helps!

see plnkr


Related Query