Как называется этот сюжет и как я могу сделать это с помощью ggplot2? - PullRequest
0 голосов
/ 04 июля 2018

Рассмотрим сюжет, похожий на сюжет сверху:

enter image description here

Я хочу воссоздать этот тип графика (пышная диаграмма рассеяния), который указывает на распространение образцов по кривым вокруг медианы. Пока мой поиск не увенчался успехом.

Кто-нибудь знает:

  1. Как называется этот сюжет?
  2. Как этот сюжет можно создать с помощью ggplot2?
  3. Можно ли построить этот точечный график с равноотстоящими точками на категориальную переменную с помощью geom_point()?

Оригинальный источник: https://www.nature.com/articles/nature12213/figures/1

1 Ответ

0 голосов
/ 04 июля 2018

Это просто упорядочение и разнесение точек, которые иначе дискретны? Вы можете довольно легко сделать свои собственные 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))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...