use*_*980 3 r ggplot2 gridextra
我正在使用gridExtra包grid.arrange函数组合多ggplot图.
我这样做:
p1<-ggplot(x, aes(Date, Value)) + geom_line()
p2<-ggplot(y, aes(Date, Score)) + geom_point()
grid.arrange(p1, p2, main=textGrob("Head Line", gp=gpar(cex=1.5, fontface="bold", col="#990000")), ncol = 1, clip=TRUE)
Run Code Online (Sandbox Code Playgroud)
此命令在p1和p2之间放置边框.我找不到有关删除grid.arrange中的边框的任何信息.是否可以删除边框?
gridExtra不会在地块之间添加任何额外的边界.您所看到的只是已经围绕每个情节的边界.也就是说,p1底部有一个边框,p2顶部有一个边框.把两者放在一起,看起来两者之间可能有额外的空间.
要删除或调整每个绘图的边框,请使用函数中的plot.margin元素theme.以下删除了p1的下边距和p2的上边距.
library(ggplot2)
library(gridExtra)
p1<-ggplot(data.frame(x = 1:10, y = 1:10), aes(x, y)) + geom_line() +
theme(plot.margin = unit(c(1,1,0,1), "lines"))
p2<-ggplot(data.frame(x = 1:10, y = 1:10), aes(x, y)) + geom_point() +
theme(plot.margin = unit(c(0,1,1,1), "lines"))
grid.arrange(p1, p2, top=textGrob("Head Line",
gp=gpar(cex=1.5, fontface="bold", col="#990000")), ncol = 1, clip=TRUE)
Run Code Online (Sandbox Code Playgroud)

编辑(16/07/2015):使用gridExtra> = 2.0.0,main参数已重命名top.