如何在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)
输出
广告