0

9 つのサブプロットを持つ ggplot2 を使用してプロットを作成しようとしています。私の目標は、9 つ​​のサブプロットのそれぞれについて、縦軸を個々のレベルでスケーリングできるようにすることです。そのために、構文 facet_wrap(scales = "free_y") を試しています。しかし、それは私にとってはうまくいかないようで、代わりに、縦軸は 9 つのサブプロットすべてで同じようです。以下は MWE です。

x <- rep(c(rep("F",4),rep("M",4)),9)
y <- abs(c(rnorm(36,0,20),rnorm(36,0,5)))
z <- rep(1:9,each=8)
meanG1 <- c()
meanG2 <- c()
for (i in c(1,9,17,25,33,41,49,57,65)){
  meanG1 <- c(meanG1, rep(mean(y[i:(i+3)]),8))
  meanG2 <- c(meanG2, rep(mean(y[5:(i+3)]),8))
}
dat <- data.frame(x=x,y=y,z=z,meanG1=meanG1,meanG2=meanG2)

ggplot(dat, aes(x, y)) + 
  geom_point(aes(colour = factor(x)), shape = 20, size=5, alpha = 0.5) + 
  scale_shape(solid = FALSE) + 
  ggtitle(paste("My Plot")) + 
  ylab("Count") + 
  scale_y_continuous(limits=c(0, max(dat$y))) + 
  theme(axis.title.x = element_blank(), 
        legend.position="bottom", 
        axis.text=element_text(size=12), 
        axis.title=element_text(size=12), 
        legend.title=element_text(size=12), 
        legend.text=element_text(size=12), 
        plot.title=element_text(hjust=0.5)) + 
  labs(colour = "Group", size=12) + 
  geom_segment(aes(x = 1, y = meanG1, xend = 2, yend = meanG2), colour="gray25", size = 0.1) + 
  facet_wrap(~ z, ncol = 3, scales = "free_y")

これを引き起こしている可能性のあるものやこれを修正する方法について誰かがアドバイスを持っているなら、私はすべて耳を傾けるでしょう! ありがとうございました。

4

1 に答える 1

2

これをggplotコードから削除する必要があります

scale_y_continuous(limits=c(0, max(dat$y)))

すべてのファセットにわたってy軸の範囲を「固定」しているため

于 2016-12-01T02:24:59.443 に答える