0

次のプロットとマージナルの凡例を作成するには? ざっと調べ?themeたのですがわかりません。

library(ggplot2)
data <- data.frame(col1 = c(1, 2, 2, 3, 3, 4), col2 = c(1, 2, 2, 1, 2, 1), z = rnorm(6))

p1 <- ggplot(data, aes(col1, y = ..count..,fill=col2))
p1 <- p1 + geom_bar()

p2 <- ggplot(data, aes(x = z))
p2<-p2 + geom_density()
p2

gt1 <- ggplot_gtable(ggplot_build(p1))
gt2 <- ggplot_gtable(ggplot_build(p2))

x 軸と y 軸のタイトルとテキストの最大幅と高さを取得します

maxWidth = unit.pmax(gt1$widths[2:3], gt2$widths[2:3])

gt1、gt2、および gt3 の gtables に最大値を設定します

gt1$widths[2:3] <- as.list(maxWidth)
gt2$widths[2:3] <- as.list(maxWidth)

散布図を 2 つの周辺箱ひげ図と組み合わせる 新しい gtable を作成する

gt <- gtable(widths = unit(c(7, 2), "null"), height = unit(c(2, 7), "null"))

gt1、gt2、および gt3 を新しい gtable に挿入します。

gt <- gtable_add_grob(gt, gt1, 2, 1)
gt <- gtable_add_grob(gt, gt2, 1, 1)

そして、プロットをレンダリングします

grid.newpage()
grid.draw(gt)
4

1 に答える 1