animated = {
let fullWidth = settings.width + settings.margin.left + settings.margin.right;
let fullHeight = settings.height + settings.margin.top + settings.margin.bottom;
const svg = d3.select(DOM.svg(fullWidth, fullHeight));
const g = svg.append("g")
.attr("transform", "translate(" + settings.margin.left + "," + settings.margin.top + ")");
let circles = g.selectAll("circle")
.data(data)
.enter()
.append("circle")
.attr("cx", 0)
.style("opacity", .3)
.attr("cy", (d) => scales.y(d.y))
.attr("r", 5)
svg.append("g")
.attr("class", "axis axis--x")
.attr("transform", "translate(" + settings.margin.left + "," + (settings.height + settings.margin.top) + ")")
.call(d3.axisBottom(scales.x));
svg.append("text")
.text("Percent College Educated")
.attr("dx", settings.width / 2)
.attr("dy", settings.height + settings.margin.top + settings.margin.bottom - 10)
svg.append("g")
.attr("class", "axis axis--y")
.attr("transform", "translate(" + settings.margin.left + "," + settings.margin.top + ")")
.call(d3.axisLeft(scales.y));
svg.append("text")
.text("Percent Adult Poverty")
.attr("x", -settings.height/2 - settings.margin.top)
.attr("transform", "rotate(-90)")
.style("text-anchor", "middle")
.attr("y", settings.margin.left -40)
svg.node().transition = () => {
g.selectAll("circle")
.attr("cx", 0)
.transition()
.duration(1000)
.delay((d) => scales.x(d.x))
.attr("cx", (d) => scales.x(d.x))
.attr("cy", (d) => scales.y(d.y))
}
return svg.node()
}