Как создать график джиттера, похожий на этот в R?

Я хочу воспроизвести график джиттера в R, аналогичный описанному на рис. 1а в Zack et al., Nature Genetics, 2013:

Участок интереса

Я попробовал пчелиный теплоту и пиратскую функцию. Функция beeswarm выравнивает точки по прямой, и они выглядят так, как будто нарисована линия. Я также попробовал функцию Pirateplot, и мне в целом она понравилась, однако я не понял, как изменить цвет различных точек на основе их значения на оси Y, как это сделано на графике из справочного документа.

В конце концов, точки должны быть разбросаны, как на пиратском графике, но иметь цветовую кодировку в соответствии с их значением на оси Y.

Есть какие-нибудь предложения?

Спасибо том

1 ответ

Я думаю, что ggplot2 - лучший пакет для создания графика джиттера.

ids <- c(
  rep("id1", 20), 
  rep("id2", 20), 
  rep("id3", 20)
)

values <- runif(60)

classes <- c(
  rep("class1", 30), 
  rep("class2", 30)
)

data <- data.frame(ids, values, classes)

library(ggplot2)

ggplot(data) +
  geom_jitter(
    aes(ids, values, color = classes), 
    width = 0.1
  )

Пример джиттера ggplot2

Другие вопросы по тегам