Transitions

		...


		function draw(drawData) {
			var join = svg.selectAll("circle")
				.data(drawData, function(x){return x.name})

			join.enter()
				.append("circle")
				.style("fill", function(x){return x.colour})
				.attr("r", 10)
				.attr("cx", function(x){return xScale(x.weight)})
				.attr("cy", function(x){return yScale(x.height)})

			join
				.transition()
				.duration(1000)
				.attr("cx", function(x){return xScale(x.weight)})
				.attr("cy", function(x){return yScale(x.height)})

			join.exit()
				.transition()
				.delay(1000)
				.duration(500)
				.attr("r", 0)
				.remove()
		}

		...