【发布时间】:2015-03-11 20:10:13
【问题描述】:
corrplot 绘制相关矩阵,但不返回图形对象 (grob)
我想在一个页面上绘制几个相关矩阵。对于正常的绘图,我会使用 gridExtra 包中的 grid.arrange。但是由于 corrplot 只打印并且不返回对象,所以我看不到如何执行此操作。
是否有替代corrplot 的解决方法或更好的替代方法?
【问题讨论】:
标签: r plot r-corrplot grob
corrplot 绘制相关矩阵,但不返回图形对象 (grob)
我想在一个页面上绘制几个相关矩阵。对于正常的绘图,我会使用 gridExtra 包中的 grid.arrange。但是由于 corrplot 只打印并且不返回对象,所以我看不到如何执行此操作。
是否有替代corrplot 的解决方法或更好的替代方法?
【问题讨论】:
标签: r plot r-corrplot grob
最近的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)
【讨论】:
有旧的备用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
【讨论】:
不确定我的问题是否正确,但也许您正在寻找的内容很简单 layout ?
mat <- matrix(rnorm(100), ncol=10)
layout(matrix(1:2))
corrplot(cor(mat))
corrplot(cor(mat))
【讨论】: