I looked for your first example several times, trying to solve the problem of adjacent text labels, I'm not sure how useful it will be, but in case it adds to the discussion, I decided that I would share ..
My first effort was to fade out the text surrounding the text labels of the data point that was hanging, it just selects the text labels that overlap the currently selected label restriction frame and translates them into almost zero opacity: http: // bl. ocks.org/2554902
Then I tried to work on organizing text labels in a compact way, so that each of them was viewable, I did not complete its implementation, because it expanded the boundaries of the rendering too much (this also doesn’t currently work well when changing year ..), but maybe you should take a look at something like this on somewhat less "compact" data: http://bl.ocks.org/2554910
Edit: it looks like they are not working as intended in firefox, it seems to have a problem with getBBox () ..
Josh
source share