See also the canvas version.
xxxxxxxxxx
<html lang="en">
<head>
<meta charset="utf-8">
<title>SVG Lots of Transitions</title>
<script src='https://d3js.org/d3.v4.min.js' type='text/javascript'></script>
</head>
<body>
<svg style="width: 960px; height: 500px"></svg>
<script>
var width = 960;
var height = 500;
var data = d3.range(19200)
var svg = d3.select("svg");
var rects = svg.selectAll("rect")
.data(data)
.enter()
.append("rect")
.attr("width",4)
.attr("height",4)
.attr("x", function(d) { return d % (960/5) * 5; })
.attr("y", function(d) { return Math.floor (d/(960/5)) * 5; })
.attr("fill", "steelblue")
rects.transition()
.duration(3000)
.delay(function(d) { return d % (960/5) + Math.floor(d/(960/5) ) })
.attr("x", function(d) { return 960 - d % (960/5) * 5; })
.attr("y", function(d) { return 500 - Math.floor (d/(960/5)) * 5; })
.attr("fill","lightgreen");
</script>
</body>
</html>
https://d3js.org/d3.v4.min.js