在同一图中绘制多个 corrplots (R)

eFF*_*eFF 4 plot r correlation r-corrplot

是否可以corrplot在一个图形中绘制多个图形?

可重现的例子:

library(corrplot)
data(mtcars)
M <- cor(mtcars)

col1 <- colorRampPalette(c("#7F0000","red","#FF7F00","yellow","white", "cyan", "#007FFF", "blue","#00007F"))

corrplot(M, method="color", col=col1(20), cl.length=21,order = "AOE", addCoef.col="grey")
corrplot(M, method="square", col=col1(200),order = "AOE")
corrplot(M, method="ellipse", col=col1(200),order = "AOE")
corrplot(M, method="shade", col=col1(20),order = "AOE")
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一个类似于“多重绘图功能”的功能适用于此目的。我希望所有这些 corrplots 都在同一个输出中。

Lyz*_*deR 7

就是这样。只需par(mfrow=c(2,2))在您的脚本中使用:

library(corrplot)
data(mtcars)
M <- cor(mtcars)

col1 <- colorRampPalette(c("#7F0000","red","#FF7F00","yellow","white", "cyan", "#007FFF", "blue","#00007F"))

#this is my only addition
par(mfrow=c(2,2))

corrplot(M, method="color", col=col1(20), cl.length=21,order = "AOE", addCoef.col="grey")
corrplot(M, method="square", col=col1(200),order = "AOE")
corrplot(M, method="ellipse", col=col1(200),order = "AOE")
corrplot(M, method="shade", col=col1(20),order = "AOE")
Run Code Online (Sandbox Code Playgroud)

你就完成了:

在此处输入图片说明

请注意,par(mfrow=c(2,2))第一个2代表行,第二个2代表列。您可以将其更改为您喜欢的任何内容。我选择这样显示您的 4 个图形,因为它看起来不错,但是如果您愿意,可以使用par(mfrow=c(1,4))(1 行,4 列)将它们全部放在一行中。