如何在R中生成类似于此的抖动图?

时间:2016-11-01 11:51:18

标签: r plot jitter

我想重现R中的抖动图,类似于Zack等人,Nature Genetics,2013中图1a所描述的那个:

Plot of interest

我尝试了beeswarm functino和盗版功能。 beeswarm函数将点排成直线,它们看起来像一条线已被绘制。 我也尝试了Pirateplot功能,我一般都喜欢它,但是,我没有弄清楚如何根据它们在y轴上的值来改变不同点的颜色,如参考纸的图中所做的那样。

enter image description here

最终,这些点应该像海盗图一样分散,但是根据它们在y轴上的值进行颜色编码。

有人有什么建议吗?

由于 汤姆

1 个答案:

答案 0 :(得分:0)

我认为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 jitter example