如何适应多块地块的大小?

问题描述 投票:2回答:1

如何根据x轴的长度调整以下图的大小?

enter image description here

图的宽度应指x轴各自截面的长度。所有地块的高度应相同。

r plot size
1个回答
1
投票

你想要的功能是基本图形功能help("layout")

首先,我将编制一个数据集,因为您尚未发布一个数据集。我不会绘制回归线,只是点。

数据创建代码。

fun <- function(X, A) {
  apply(X, 1, function(.x){
    xx <- seq(.x[1], .x[2], length.out = 100)
    y <- A[1]*xx + A[2] + rnorm(100, 0, 25)
    list(xx, y)
  })}

Coef <- matrix(c(0.24, 0.54, 
                 0.75, 0.54,
                 0.33, 2.17,
                 0.29, 3.3,
                 0.29, 4.41), byrow = TRUE, ncol = 2)

X <- matrix(c(0.1, 0.49,
              0.5, 2.49,
              2.5, 3.9,
              4.0, 5.9,
              6.0, 12.0), byrow = TRUE, ncol = 2)

set.seed(1234)
res <- fun(X, Coef)

问题。

使用从第1到第5的顺序定义每个绘图的布局矩阵。并且X给出的宽度范围。

layout_mat <- matrix(c(1, 2, 3, 4, 5), 1, 5, byrow = TRUE)
w <- apply(X, 1, diff)
l <- layout(layout_mat, widths = w)
layout.show(l)

现在为轴注释腾出一些空间,保存默认图形参数,并绘制5个图形。

om <- par(mar = c(3, 0.1, 0.1, 0.1),
          oma = c(3, 2, 0.1, 0.1))
for(i in 1:5) plot(res[[i]][[1]], res[[i]][[2]])
par(om)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.