間違いなくあなたの所望の出力を得るための最も迅速かつクリーンな方法です。与えられた変数については、プロットが互いに隣り合っていないので、それぞれのプロットにそれぞれのプロットを入れたいと思うかもしれません。これは、簡単に@ Stibuのコードでfacet_grid
コールへのわずかな微調整することによってすることができます。
ggplot(melt_crabs, aes(x = interaction(sex, variable), y = value)) +
geom_boxplot(aes(fill = sex), alpha = 0.5) +
geom_line(aes(group = interaction(index, variable)),
alpha = 0.5, colour = "darkgrey") +
facet_grid(sp~variable,scales="free_x") +
scale_x_discrete(labels = "")
また、私はいくつかの掘削あなたが上から下にストリップを移動したいなかった場合、それはにISNそれは難しい。コードを適応:How to display strip labels below the plot when faceting?
我々が得る:
p<-ggplot(melt_crabs, aes(x = interaction(sex, variable), y = value)) +
geom_boxplot(aes(fill = sex), alpha = 0.5) +
geom_line(aes(group = interaction(index, variable)),
alpha = 0.5, colour = "darkgrey") +
facet_grid(sp~variable,scales="free_x") +
scale_x_discrete(labels = "")
# Convert the plot to a grob
gt <- ggplotGrob(p)
# Get the positions of the panels in the layout: t = top, l = left, ...
panels <-c(subset(gt$layout, name == "panel", select = t:r))
# Get the strip grob & x-axis label grob
stripGrob = gtable_filter(gt, "strip-top")
#Replace x-axis ticks with strip
gt = gtable_add_grob(gt, stripGrob, t = max(panels$b)+1, l = min(panels$l), r = max(panels$r))
# remove the old strip
gt = gt[-(min(panels$t)-1), ]
grid.newpage()
grid.draw(gt)
あなたのコードは、あなたが示す数字を生成しません。私はあなたが単にセックスとspを交換したと思います。 – Stibu
@Stibu返信してコードを編集してくれてありがとう。私はこれで新しく、私はそれが私の謝罪を表明したと思った。性別および性別の使用はインパクトではありません。ここでの例は、同じ要素に2つのboxplotを置き、それらを接続することです。どうもありがとう。 –