All examples By author By category About

alokkshukla

Dynamic Bar Chart with Transitions

Updates, Transitions, and Motion

Updating Visuals

Not smooth


d3.select("p")
    .on("click", function() {

        //New values for dataset
        dataset = [ 11, 12, 15, 20, 18, 17, 16, 18, 23, 25,
                    5, 10, 13, 19, 21, 25, 22, 18, 15, 13 ];

        //Update all rects
        svg.selectAll("rect")
           .data(dataset)
           .attr("y", function(d) {
                return h - yScale(d);
           })
           .attr("height", function(d) {
                return yScale(d);
           });

    });

Update colors and labels similarly.

Introducing Transitions

                    //Update all rects
                    svg.selectAll("rect")
                        .data(dataset)
						.transition()
                        .delay(function(d, i) {
                            return i * 100;
                        })
						.duration(1000)
						.ease(d3.easeBounceOut)
                        .attr("y", function(d) {
                            return h - yScale(d);
                        })
                        .attr("height", function(d) {
                            return yScale(d);
                        })
                        .attr("fill", function(d) {
                            return "rgb(0,0," + Math.round(d * 10) + ")";
                        });


Ordinal Scales

                var xScale = d3.scaleBand()
							.domain(d3.range(dataset.length))
							.rangeRound([0, w])
							.paddingInner(0.08);