当x是ggplot2中的因子变量时,对标签进行分组

时间:2013-05-02 13:44:53

标签: r ggplot2

我正在尝试用一个“A”替换x轴标签“A0”和“A1”,它可以放在“A0”和“A1”的中间。如果有一种方法可以像以下问题一样工作会更好: grouping of axis labels ggplot2

由此,我的意思是仅为每个组重绘x轴,并在组之间留空。

以下是我正在处理的代码:

y = 1*round(runif(20)*10,1)
x1 = c("A","B")
x2 = c(0,1)
x = expand.grid(x1,x2)
xy = cbind(x,y)
xy$z = paste(xy$Var1,xy$Var2,sep="")

p <- ggplot(xy, aes(x=factor(z), y=y,fill=factor(Var2)))
p + geom_boxplot() + geom_jitter(position=position_jitter(width=.2)) + theme_bw() + xlab("X") + ylab("Y") + scale_fill_discrete(name="Var2",breaks=c(0, 1),labels=c("T", "C"))

1 个答案:

答案 0 :(得分:2)

试试这个。不需要变量z,只需使用position="dodge"

p <- ggplot(xy, aes(x=factor(Var1), y=y,fill=factor(Var2)))
p + geom_boxplot(position="dodge") + geom_jitter(position=position_jitter(width=.2)) + theme_bw() + xlab("X") + ylab("Y") + scale_fill_discrete(name="Var2",breaks=c(0, 1),labels=c("T", "C"))