Someone just wanted to animate boxes in diagonally. Just sum the row and column: .transition().delay(function(d,i) { return (d.row + d.column) * delay; })
.
This does not depend on data initially being sorted, or in any particular shape or arrangement; it could be square, rectangular, sparse, etc.
See also:
- Straight diagonal using comparator on existing data
- Stepped diagonal using Cantor pairing comparator on existing data
- Zigzag diagonal using alternating Cantor pairing comparator on existing data
- Generating by triangular numbers