library(tidyverse)
library(ggdist)
ggplot(iris, aes(x = Sepal.Length, y = Species, color = Species)) +
stat_halfeye(
point_color = NA, .width = 0, height = 0.6,
position = position_nudge(y = 0.3)
) +
geom_boxplot(
position = position_nudge(y = 0.2),
width = 0.1, outlier.shape = NA
) +
geom_point(position = position_jitter(width = 0, height = 0.1, seed = 1))