我想使用mfrow函数在一个绘图中合并多个绘图。

然后,我想在此图中添加行数和列数。

例如,

par(mfrow=c(3,3))
plot(rnorm(10,1,3))
plot(rnorm(10,2,4))
plot(rnorm(10,3,3))
plot(rnorm(10,4,4))
plot(rnorm(10,5,2))
plot(rnorm(10,3,0.5))


我想要类似以下内容:r - 如何在多个图中添加行数和列数-LMLPHP

有什么帮助吗?

最佳答案

我认为您可以考虑使用GGally软件包。它使用ggplot2绘制成对散点图。我想这就是你想要的。

library(tidyverse)
(mu_sd <- # parameters
  tribble(
    ~m, ~s,
    #--/--/
    1, 3,
    2, 4,
    3, 3,
    4, 4,
    5, 2,
    3, .5
  ))
#> # A tibble: 6 x 2
#>       m     s
#>   <dbl> <dbl>
#> 1     1   3
#> 2     2   4
#> 3     3   3
#> 4     4   4
#> 5     5   2
#> 6     3   0.5


rnorm应用于此数据框,我们可以得到另一个数据框来绘制图

set.seed(10)
(rand_norm <-
  mu_sd %>%
  apply(1, rnorm, n = 10) %>% # to each row
  as_tibble())
#> # A tibble: 10 x 6
#>        V1    V2    V3    V4    V5    V6
#>     <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#>  1  1.02   3.10 2.40   2.15  6.09 2.60
#>  2  2.82   4.76 0.815  3.92  1.24 0.165
#>  3 -0.371  1.76 2.33   4.97  4.17 4.37
#>  4  2.40   4.99 0.881  4.18  2.83 2.64
#>  5  1.29   2.74 1.73   2.62  4.03 3.51
#>  6  3.39   4.09 2.63   2.56  1.97 1.29
#>  7 -0.208  1.05 2.31   4.36  5.23 2.10
#>  8  2.64   3.80 2.13   2.24  1.70 1.03
#>  9 -0.627  2.93 2.90   3.68  4.32 2.35
#> 10  2.74   4.48 2.75   3.35  2.66 0.791


在这里,每一列都来自每个人口。

您现在可以在ggpairs()中使用GGally

GGally::ggpairs(rand_norm)


r - 如何在多个图中添加行数和列数-LMLPHP

您可以在绘图的每个upperlowerdiag边指定要绘制的内容。这是默认结果。在下部,您可能会看到想要的结果。

如果您对详细信息感兴趣,则可以转到此链接GGally。但是在这种情况下,我认为默认选项足以解决问题。

08-24 18:02