2015-01-13 19 views
7

corrplot lô một ma trận tương quan, nhưng nó không trả về một đối tượng đồ họa (grob)R trở corrplot như đối tượng

Tôi muốn vẽ một vài ma trận tương quan trên một trang duy nhất. Đối với các ô thông thường, tôi sẽ sử dụng grid.arrange từ gói gridExtra. Tuy nhiên kể từ khi corrplot chỉ in và không trả lại một đối tượng, tôi không thể xem làm thế nào để làm điều này.

Có giải pháp thay thế hoặc cách thay thế tốt hơn cho corrplot không?

Trả lời

6

Có người già chờ par(mfrow=c(x, y)) nơi x là số hàng bạn muốn vẽ và y các cột numberof. Sau đó, các bài đăng trên và sau đó xuống khi bạn gọi các ô.

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 

sẽ vẽ như

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

Không chắc chắn nếu tôi có câu hỏi của bạn đúng, nhưng có lẽ những gì bạn đang tìm kiếm là đơn giản layout?

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

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

Các gridGraphics gói gần đây có thể có thể làm những gì bạn hỏi: trả lại cốt truyện là sự 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) 
Các vấn đề liên quan