First of all, thank you very much for the detailed reply.
I appreciate the proper approach laid out.
I am trying to figure out how to not have it completely zoom in on the "Segment" though.
I hoped adding some width / height to the values being passed would accomplish the task, but that messes things up.
There is also a weird glitch that happens when you click on some of the names.
This is easy to repeat by changing the view on CodePen to Full Page View and then clicking on Guillaume Fournier and Pierre Fournier.
You can see it in the attached screenshot. Any idea how that can be fixed?
I initially had problems like this when using D3, but to solve it I extended the main rectangular background to be quite a ways outside of the viewBox like so:
<rect x="-2500px" y="-1250px" width="7000" height="3500"/>