The “stacked dot plots” in CODAP, Fathom, and TI-nspire all have the same algorithm (of course). The idea is that you allocate ‘bins’ along the axis, each with a width equal to the diameter of a point in pixels. Then you count how many points will be in each bin and find the maximum. Determine if, for this tallest bin, stacking the points one on top of the next will go off the top. If so, compute the ‘overlap’ of points required to bring the tallest bin back inside the plot. Now you can compute a coordinate for each point.
You can see this in detail in the github repository for CODAP, in the file
dot_plot_view.js, in the routine
_zeroBinArray.
Like you, I have only grown more fond of these dot plots over the years. And other people seem also to have become accustomed to them, in spite of the often weird shapes they make.