将corrplot作为对象返回

8
corrplot绘制相关矩阵,但它不返回图形对象(grob)。
我想在单个页面上绘制几个相关矩阵。对于普通图,我会使用gridExtra包中的grid.arrange。然而,由于corrplot只打印而不返回对象,我不知道该怎么做。
是否有解决方法或更好的替代方案来取代corrplot
3个回答

11

最近发布的 gridGraphics 包可能可以实现您所要求的功能:将图表作为 grob 返回。

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)

8

有一个老式的备选方案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

2

不确定我是否理解您的问题,但也许您需要的是简单的布局

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接