This is an old idea digitalised as part of learning to use the JavaScript d3 library.

(Safari sometimes needs a few refreshes to display the contents correctly.)

Source code: