将多个相关矩阵图排列成一个图

时间:2013-03-08 06:49:29

标签: r

我使用R包ellipse来可视化相关性。我的问题是如何将6个不同的相关图分成一个数字?我试过

  1. 使用par(mfrow=c(3,2), mar=c(3.1, 4.1, 2.1, 5.1)),它有效,但我只能看到6组小数据。

  2. 使用grid.arrange给出了错误消息

    Error in arrangeGrob(..., as.table = as.table, clip = clip, main = main, : input must be grobs!

  3. 有没有办法解决这个问题?谢谢!

    这是我的示例代码

    colors <- c("#A50F15","#DE2D26","#FB6A4A","#FCAE91","#FEE5D9","white",
                "#EFF3FF","#BDD7E7","#6BAED6","#3182BD","#08519C")
    
    
    tiff(file = "Fig7.tiff", width = 10000, height = 8000, units = "px", res = 800, compression = "lzw") #
    par(mfrow=c(3,2))
    
    for (i in 1:6){
    
      plotcorr(cor(replicate(10, rnorm(10))), col=colors[5*cor(replicate(10, rnorm(10))) + 6], numbers = TRUE)
      plotcorr(cor(replicate(10, rnorm(10))), col=colors[5*cor(replicate(10, rnorm(10))) + 6], numbers = TRUE)  
    }
    
    dev.off()
    

    我通过修改保证金来解决这个问题。再次感谢!

      plotcorr(eval(parse(text=cor_name_app)), col=colors[5*eval(parse(text=cor_name_app)) + 6],  mar = 0.1 + c(0.2,0.2,0.4,0.2))
    

3 个答案:

答案 0 :(得分:3)

我认为您可能需要考虑lattice选项。查看Sarkar的莱迪思书中示例13.5中的“corrgram”选项:http://lmdvr.r-forge.r-project.org/figures/figures.html

enter image description here

答案 1 :(得分:1)

关于第二个问题,我认为椭圆使用标准图形。 grid.arrange使用grid图片,这些图片不适用于标准图片。您得到的错误是因为这种不兼容性。

答案 2 :(得分:0)

我通过修改保证金来解决这个问题。再次感谢!

  plotcorr(eval(parse(text=cor_name_app)), col=colors[5*eval(parse(text=cor_name_app)) + 6],  mar = 0.1 + c(0.2,0.2,0.4,0.2))