我正在R中使用ggplot创建小提琴图。我想创建这样的小提琴图,在每个图中显示不同的数字。
我用这段代码创建了这样的情节。
data<-read.csv("Clinical violion file.csv")
mat <- reshape2::melt(data.frame(data), id.vars = NULL)
pp <- ggplot(mat, aes(x = variable, y = value)) + geom_violin(scale="width",adjust = 1,width = 0.5,aes(color=factor(variable)))+ geom_point()
pp
我有这样的情节。
但是我不知道如何在每个图中添加显示不同数字的点。 这是我文件的标题。
我通过这样做解决了这个问题。
library(ggbeeswarm)
pp <- ggplot(mat, aes(x = variable, y = value)) + geom_violin(scale="width",adjust = 1,width = 0.5,aes(color=factor(variable)))+geom_quasirandom(aes(color=factor(variable)),groupOnX=FALSE)
答案 0 :(得分:0)
这应该做您想要的:
library(ggplot2)
head(iris)
iris %>% group_by(Species) %>% summarise(n=n(), avg = mean(Sepal.Length)) ->Summary.data
ggplot(iris,aes(x=Species,y=Sepal.Length)) + geom_violin(trim = T) +
geom_jitter(height = 0, width = 0.1) +
geom_text(data=Summary.data ,aes(x = Species, y = avg, label=n),color="red", fontface =2, size = 5)