如何创建具有相同 X 轴的多个图?

Soh*_*eil 1 layout plot r

我正在尝试使用具有相同 X 轴但不同 Y 轴的数据集制作单个图。作为一个例子,我有这个数据集:

A1 <- rnorm(100)
B1 <- rnorm(100)
B2 <- rnorm(100)
B3 <- rnorm(100)

grid <- matrix(c(1:3),nrow=3,ncol=1,byrow=TRUE)
layout(grid)

plot(A1,B1)
plot(A1,B2)
plot(A1,B3)
Run Code Online (Sandbox Code Playgroud)

这是我得到的,带有多个 X 轴:

在此输入图像描述

我知道如何使用,ggplot2但我正在寻找另一种方法,例如使用layout. 任何帮助将非常感激。

Ben*_*sen 5

你可以

  1. 使用mfcol参数 inpar设置绘图数量,使用mar省略边距,为oma您将使用 制作的轴添加空间axis,并mgp为您将制作的轴标签设置空间。
  2. 用 制作没有轴的图axes = FALSE
  3. 用于box在图周围添加方框。
  4. 最后添加轴标签mtext

这是一个例子

set.seed(32273438)
A1 <- rnorm(100)
B1 <- rnorm(100)
B2 <- rnorm(100)
B3 <- rnorm(100)

par(mfcol = c(3, 1), mar = numeric(4), oma = c(4, 4, .5, .5), 
    mgp = c(2, .6, 0))
plot(A1, B1, axes = FALSE)
axis(2L)
box()
plot(A1, B2, axes = FALSE)
axis(2L)
box()
plot(A1, B3, axes = FALSE)
axis(1L)
axis(2L)
box()
mtext("A1", side = 1, outer = TRUE, line = 2.2)
mtext("B", side = 2, outer = TRUE, line = 2.2)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

您可能会遇到重叠 y 刻度的问题,但您可以通过 的参数解决此yaxp问题par