如何在R中使用grid.arrange连接两个绘图时减小它们之间的间距?


当我们使用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)

创建x和y之间的散点图和折线图,并使用plot.margin来减少使用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)

输出

更新于:2020年9月9日

2K+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告