如何在 R 中使用 grid.arrange 函数缩小两个图之间的间距?
r programmingserver side programmingprogramming更新于 2025/6/27 3:37:17
当我们使用 grid.arrange 函数连接或合并两个图时,即使两个图中的自变量相同,第一个图的比例尺也会作为 X 轴出现在它们之间。
因此,我们可能需要在连接时消除图之间的间距,以便只获得一个 X 轴。这可以通过使用 theme 函数来实现。
示例
考虑下面的数据框 −
set.seed(123) x<-rnorm(10,1) y<-rnorm(10,2) df<-data.frame(x,y) df
输出
x y 1 0.4395244 3.22408180 2 0.7698225 2.35981383 3 2.5587083 2.40077145 4 1.0705084 2.11068272 5 1.1292877 1.44415887 6 2.7150650 3.78691314 7 1.4609162 2.49785048 8 -0.2650612 0.03338284 9 0.3131471 2.70135590 10 0.5543380 1.52720859
加载 ggplot2 和 gridExtra 包 −
library(ggplot2) library(gridExtra)
使用 plot.margin 在 x 和 y 之间创建散点图和折线图,以减少使用 grid.arrange 连接时图之间的间距 −
示例
Plot1<-ggplot(df,aes(x,y))+geom_point()+theme(plot.margin=unit(c(1,1,-0.5,1),"cm")) Plot1
输出
Plot2<-ggplot(df,aes(x,y))+geom_line()+theme(plot.margin=unit(c(-0.5,1,1,1),"cm")) Plot2
输出
连接两个图 −
示例
grid.arrange(Plot1,Plot2)