chart = {
const svg = d3.select(DOM.svg(width, height))
.style("width", "100%")
.style("height", "auto")
.style("font", "10px sans-serif");
var sampleNow = 0;
function animateIt () {
sampleNow = getRandomIntInclusiveNotRepeating(sampleNow)
svg.selectAll("circle")
.data(alldata[sampleNow])
.transition()
.ease(d3.easeBounceOut)
.attr("r", radius)
.attr("cx", function(d) { return d[0]; })
.attr("cy", function(d) { return d[1]; })
;
};
svg.selectAll("dot")
.data(alldata[sampleNow])
.enter().append("circle")
.attr("r", radius)
.attr("cx", function(d) { return d[0]; })
.attr("cy", function(d) { return d[1]; });
let anim = 0;
for (let i=0; i < 30; i++) {
anim += getRandomIntInclusive(125, 10000);
setTimeout(animateIt, anim);
}
svg.on("mouseover", animateIt);
return svg.node();
}