如何在 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)

输出


相关文章