我已经被这个问题困扰了几天。
for(i in 1:10){
nam <- paste("A", i, sep = "")
p <- ggplot(data=PCdf8, aes(x = 1:nrow(PCdf8), y = PCdf8[,i])) +
geom_line(colour = "#0072B2", size = 0.5)
assign(nam, p)
}
grid.arrange(A1, A2, A3, A4, A5, A6, A7, A9, A10)
我的代码输出了10次相同的图形(#10),而不是10个不同的图形。
我尝试将它们写入一个空列表,但是非grobs与grid.arrange()不兼容。我也尝试过删除非grobs。我最终将每个图形写入A1到A10的对象中。我还尝试删除每个循环结尾处的“nam”...尽管如此,似乎这个循环产生了10个对象,即A1到A10,都是相同的图形,这意味着循环中的最后一个图形令人恼火地被写入了所有对象中。
我想将其扩展到大约100个图形。因此,我想做类似于以下的事情:
grid.arrange(A1:A100)
我尝试使用不同的seq()和paste()组合,但都没有成功。
我在这里和网上看到过类似的问题,但是没有找到可行的解决方案。
谢谢。
x
中,您可以使用gridExtra::grid.arrange(grobs = x)
。 - Richard Telford