8

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

我想在一个页面上绘制几个相关矩阵。对于正常的地块,我会grid.arrangegridExtra包中使用。但是,由于 corrplot 仅打印并且不返回对象,因此我看不到如何执行此操作。

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

4

3 回答 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)
于 2015-01-14T17:17:53.393 回答
7

有旧的备用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
于 2015-01-13T20:15:14.147 回答
2

不确定我的问题是否正确,但也许您正在寻找的东西很简单layout

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

layout(matrix(1:2))
corrplot(cor(mat))
corrplot(cor(mat))
于 2015-01-13T19:03:20.360 回答