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

时间:2018-11-19 04:46:00

标签: r

我想使用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))

我想与此类似:This photo

有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

我认为您可以考虑使用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)

enter image description here

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

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