以前に生成された 2 つのプロットに重なるプロットを作成しようとしています。結果は私が望んでいたものに非常に近かったが、各バー間の間隔を調整することができなかった. 以下は、箱ひげ図を生成するために使用していたコードです。
a <- ggplot(aes(y = SCORE, x = DATE, fill = CATEGORY), data = data_R1000) + geom_boxplot() + ylim(20,100) + labs(title = "Russell 1000") + theme(legend.position="bottom") + scale_fill_hue(c=150, l=70)
b <- ggplot(aes(y = SCORE, x = DATE, fill = CATEGORY), data = data_R1000) + geom_boxplot(width=0.8) + ylim(20,100) + labs(title = "US_MARKETOR") + theme(legend.position="bottom") + theme(panel.background = element_rect(fill = "transparent",colour = NA)) + theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank()) + scale_fill_hue(c=50, l=85)
# extract gtable
g1 <- ggplot_gtable(ggplot_build(a))
g2 <- ggplot_gtable(ggplot_build(b))
# overlap the panel of 2nd plot on that of 1st plot
pp <- c(subset(g1$layout, name == "panel", se = t:r))
g <- gtable_add_grob(g1, g2$grobs[[which(g2$layout$name == "panel")]], pp$t, pp$l, pp$b, pp$l)
## what I dd is to plot a new viewports.
vp=viewport(x=0.5,y=0.5,height=1,width=1)
pushViewport(vp)
grid.draw(g)
upViewport()
結果は次のようになります。
上のバーを狭く保ちながら、上のレベルの箱ひげ図の垂直線をその下の線とオーバーラップさせる方法を考えています(つまり、連続するバーの間に間隔を追加して、すぐ隣にならないようにするにはどうすればよいですか?お互いに?)
* さらに、すべての boxplot をプロット上で水平方向にシフトする必要もあります。x 軸を変更せずに boxplot の x 軸の位置を調整する方法はありますか? *
ご助力ありがとうございます!