我有一个要在ggplot2上绘制的数据作为箱形图,看起来像

> head(varf)
             sID variable       value
1 SP_SA036,SA040   CM0001 0.492537313
2 SP_SA036,SA040   CM0001 0.479564033
3 SP_SA036,SA040   CM0001 0.559139785
4 SP_SA036,SA040   CM0001 0.526806527
5 SP_SA036,SA040   CM0001 0.009049774
6 SP_SA036,SA040   CM0001 0.451612903


变量列包含16个不同的ID(从CM0001到CM0016)

我有带注释的数据框

category   annotation
CM001      HG4450
CM002      HG3288
..
CM016      MM8998


我想将这些注释映射到我的箱形图的顶部,但找不到解决方法,将geom_text与boxplot一起使用的正确语法是什么?

谢谢

最佳答案

有许多方法可以解决此问题,例如herehere。可能最简单的方法是

meds <- c(by(mtcars$mpg, mtcars$cyl, median))
ggplot(mtcars, aes(factor(cyl), mpg)) +
    geom_boxplot() +
    geom_text(data=data.frame(), aes(x=names(meds), y=meds, label=1:3), col='red', size=10)

09-05 00:09