制作一个多面板结构,以便随后插入不同大小的图形(总共16个)

时间:2016-02-29 20:17:22

标签: r ggplot2 panel par

我制作了15个饼图和一个折线图。

我的目标是根据图片上的结构排列它们

enter image description here

有没有像

这样的方式
par(mfrow=c(2,2))

建立这样一个结构,我可以在其中绘制我制作的所有图表?接受在这种情况下,我希望能够确定图的大小。

2 个答案:

答案 0 :(得分:4)

试试这个,

/var/lib/postgresql/backup

enter image description here

对于实际情节,请尝试

library(gridExtra)
library(grid)
l <- cbind(c(5:1, NA), rbind(6:10, matrix(16, 5, 5)), c(11:15, NA))

# dummy placeholders for illustration
plots <- lapply(1:16, function(ii) 
            grobTree(rectGrob(), textGrob(paste("plot", ii))))

grid.arrange(grobs=plots, layout_matrix=l)

或16个图表(或网格凹凸)的列表,

enter image description here

答案 1 :(得分:2)

你可能想要将尺寸提取到某种类型的矩阵,但这种冗长的方式会让你在那里让你看到大小和位置方面发生了什么 - 非常确定它是grid的包装器或gridExtra

library(cowplot)

p1 <- ggplot(mtcars, aes(x = hp, y = mpg)) + geom_point()

ggdraw() +
  draw_plot(p1, 0, 0.1, 0.1, 0.1) +
  draw_plot(p1, 0, 0.2, 0.1, 0.1) +
  draw_plot(p1, 0, 0.3, 0.1, 0.1) +
  draw_plot(p1, 0, 0.4, 0.1, 0.1) +
  draw_plot(p1, 0, 0.5, 0.1, 0.1) +
  draw_plot(p1, 0.1, 0.5, 0.1, 0.1) +
  draw_plot(p1, 0.2, 0.5, 0.1, 0.1) +
  draw_plot(p1, 0.3, 0.5, 0.1, 0.1) +
  draw_plot(p1, 0.4, 0.5, 0.1, 0.1) +
  draw_plot(p1, 0.5, 0.5, 0.1, 0.1) +
  draw_plot(p1, 0.6, 0.5, 0.1, 0.1) +
  draw_plot(p1, 0.7, 0.5, 0.1, 0.1) +
  draw_plot(p1, 0.7, 0.4, 0.1, 0.1) +
  draw_plot(p1, 0.7, 0.3, 0.1, 0.1) +
  draw_plot(p1, 0.7, 0.2, 0.1, 0.1) +
  draw_plot(p1, 0.7, 0.1, 0.1, 0.1) +
  draw_plot(p1, 0.1, 0, 0.6, 0.5) # this is the big one

Plot