facet_wrap を強制的に左上から塗りつぶしたいのですが、常に下の行を完全に塗りつぶすようにします。(つまり、左上から、下の行を完全に埋めるために必要な水平オフセットに加えて)。
library(ggplot2)
n <- 1000
df <- data.frame(x=runif(n), y=rnorm(n), label=sample(letters[1:7], size=n, replace=TRUE))
df$label.rev <- factor(df$label, levels=sort(unique(df$label), decreasing=TRUE))
p <- ggplot(df, aes(x=x, y=y)) + geom_point()
p1 <- p + facet_wrap(~ label, ncol=3)
p2 <- p + facet_wrap(~ label, ncol=3, as.table=FALSE)
p3 <- p + facet_wrap(~ label.rev, ncol=3, as.table=FALSE)
p1: 左から右、上から下のラベルの順序に満足していますが、ギャップを右下ではなく左上に配置したいと考えています。
p2: ギャップが一番上の行 (残念ながら左上ではなく右上) になりましたが、ラベルの順序が間違っています。
p3: p2 と同様。ラベルの順序を修正しようとしますが、失敗します。
ファセットを次のように並べたいと思います。
_ _ A
B C D
E F G
...一番下の行全体に軸があり、デフォルトよりも見栄えが良いと思うからです。これどうやってするの?