如何在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+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.