R return corrplot 作为对象

R return corrplot as object

corrplot 绘制相关矩阵,但它不 return 图形对象 (grob)

我想在一个页面上绘制多个相关矩阵。对于普通图,我会使用 gridExtra 包中的 grid.arrange。但是,由于 corrplot 只打印而不是 return 一个对象,我不知道该怎么做。

是否有 corrplot 的解决方法或更好的替代方法?

不确定我是否答对了你的问题,但也许你要找的很简单 layout ?

mat <- matrix(rnorm(100), ncol=10)

layout(matrix(1:2))
corrplot(cor(mat))
corrplot(cor(mat))

有旧备用 par(mfrow=c(x, y)),其中 x 是您要绘制的行数,y 是列数。然后它会在你调用绘图时横跨然后向下张贴。

par(mfrow = c(2, 2))
corrplot(cor(mat1))
corrplot(cor(mat2))
corrplot(cor(mat3))
corrplot(cor(mat4))

par(mfrow = c(1, 1)) #To clear layout

将绘制为

Mat1 | Mat2
-----------
Mat3 | Mat4

最近的 gridGraphics 软件包可能可以满足您的要求:return 情节很乱。

mat <- matrix(rnorm(100), ncol=10)
library(corrplot)
corrplot(cor(mat))

library(gridGraphics)
grab_grob <- function(){
  grid.echo()
  grid.grab()
}

g <- grab_grob()
library(gridExtra)
grid.newpage()
grid.arrange(g,g,g,g)