Shape palette with circles varying by amount of fill. This uses the set of 3 circle fill values in Lewandowsky and Spence (1989): solid, hollow, half-filled, with two additional fill amounts: three-quarters, and one-quarter.
This palette supports up to five values.
Lewandowsky, Stephan and Ian Spence (1989) "Discriminating Strata in Scatterplots", Journal of the American Statistical Association, https://www.jstor.org/stable/2289649
library("ggplot2") p <- ggplot(mtcars, aes(x = mpg, y = hp, shape = factor(cyl))) + geom_point() p + scale_shape_tremmel()p + scale_shape_circlefill()p + scale_shape_cleveland()p + scale_shape_cleveland(overlap = TRUE)