Repulsive labels
For charts with dense or overlapping labels, it would be useful to have a way to create repulsive labels to avoid overlap (similar to ggrepel for ggplot2).
This might be needing an algorithm similar to Dorling cartograms, for example with a force simulation.
Among the notable differences/or features that we might want to support:
- labels are closer to rects (or ellipses) rather than circles (ellipses can be achieved by upscaling y)
- we prefer if label avoid occluding features of the map
- sometimes we prefer if the labels are somehow "aligned" with the points of interest
- sometimes if the label is small and the point is large, we will place it at the center; other times, connect it with a line to the point of interest.
Probably already covered by #27, but we could leave this open if there’s specifically demand for this type of labeling algorithm.
Or use a voronoi initializer transform: https://observablehq.com/@fil/plot-voronoi-labels
Ref. https://www.andrewheiss.com/blog/2023/06/01/geocoding-routing-openstreetmap-r/