Это просто упорядочение и разнесение точек, которые иначе дискретны? Вы можете довольно легко сделать свои собственные geoms (см. это руководство ) / Может быть что-то вроде
StatSlide <- ggproto("StatSlide", Stat,
compute_group = function(data, scales) {
data$y <- sort(data$y)
data$x <- data$x + seq( -.4, .4, length.out = nrow(data))
data
},
required_aes = c("x", "y")
)
stat_slide <- function(mapping = NULL, data = NULL, geom = "point",
position = "identity", na.rm = FALSE, show.legend = NA,
inherit.aes = TRUE, ...) {
layer(
stat = StatSlide, data = data, mapping = mapping, geom = geom,
position = position, show.legend = show.legend, inherit.aes = inherit.aes,
params = list(na.rm = na.rm, ...)
)
}
# test it out
ggplot(mpg) +
stat_slide(aes(drv, displ, color=drv))