Pure Julia code
Fast, understandable, extensible functions

SwarmMakie makes beeswarm plots for Makie through the beeswarm recipe.
The entry point to this package is the beeswarm recipe, which accepts input the same way scatter does in all respects – plus a keyword algorithm, which specifies the beeswarm algorithm!
using SwarmMakie, CairoMakie
ys = rand(150)
beeswarm(ones(length(ys)), ys)
using SwarmMakie, CairoMakie
xs = rand(1:4, 500)
ys = randn(500)
beeswarm(xs, ys; color = xs)