-1 Data structure:
It looks like you may have overlooked or misunderstood how to format your data. It should have the structure listed in this cell (`chart_data`) such that the keys are *generic*. That way, your visualization code will read something like:
.attr("x", d => xScale(d.x))
We encourage this so that you can easily reuse your charting code.
-1 No animated transition:
See this notebook: https://observablehq.com/@d3/selection-join. The last example shows how you can set some initial visual attributes (on the enter) and then change them for the update.
-1: you clearly know how to do each of these steps, as is evident in your charts, but you'll need to create them separately here, as was asked in the notebook.