asterix R bar ggplot

时间:2015-11-02 03:16:54

标签: r ggplot2 p-value geom-bar geom-text

我试图将两个柱子标记为一个控件,并在带有星号的条件之间标记以突出显示重要性。

当我使用sidebyside条形图时,geom_text放置的星号位置的默认设置位于每个样本的两个条件之间。我需要这个用于条件之间的比较(p2),但是想要在每个条形内部放置另一组来自另一个重要级别(对照控制,p1)的星号。

我已经尝试了hjust,但这是相对于图表大小的,因此每次图表大小改变astrix位置也是如此。

示例代码:

df = data.frame(names = rep(LETTERS[1:6], each=2),
num = c(rep(c("with","without"), 3)),
values = c(1,2,3,7,2,2,5,10,3,4,2,9),
p1=c(1,1,1,.005,0.5,1,0.005,0,1,0,1,1), 
p2=c(1,1,1,1,1,1,1,0,1,1,1,0))

sidebyside=position_dodge(width=0.9)

df$star <- ""
df$star[df$p1 <= .05]  <- "*"
df$star[df$p1 <= .01]  <- "**"
df$star[df$p1 <= .001] <- "***"

df$star2 <- ""
df$star2[df$p2 <= .05]  <- "*"
df$star2[df$p2 <= .01]  <- "**"
df$star2[df$p2 <= .001] <- "***"

ggplot(df, aes(x=names, y=values, fill=num))+
geom_bar(stat="identity", position=sidebyside, colour='black')+
geom_text(aes(label=star), colour="black", vjust=1, size=10)+
geom_text(aes(label=star2), colour="black", vjust=0, size=10)

谢谢

0 个答案:

没有答案