I really like the way the ggplot2::geom_dotplot() can nicely stack dots towards the middle of a category but I cannot seem to combine that with a fill color.
ggplot2::geom_dotplot()
I think you have to add the argument position = "dodge":
position = "dodge"
ggplot(tmpData, aes(x = x, y = y, fill = fill,)) + geom_dotplot(binaxis = "y", stackdir = "center", dotsize = 4, position = "dodge")