以下代码:
Dat = read.table(text="varA1 varA2 varA3 varB1 varB2 varC1 varC2 varC3
.01 .01 .35 .05 .06 .01 .01 .25
.02 .21 .31 .34 .06 .04 .01 .35
.01 .03 .35 .05 .03 .05 .31 .33
.45 .01 .32 .08 .26 .11 .04 .35
.01 .01 .35 .05 .03 .01 .33 .25",
header=TRUE)
library(corrplot)
corrplot(as.matrix(Dat), is.corr=FALSE, tl.srt=45)
创建此图:
是否可以更新代码以突出显示我有三组变量的事实,即
所以要么在所有三个周围放一个矩形(类似于corrplot中的选项hclust,遗憾的是不允许自定义矩形),就像我在这里使用paint做的那样:
或者也许通过以三种不同的颜色打印标题,或者我可以在视觉上区分三组变量的任何其他方式?欢迎任何提示,非常感谢!
答案 0 :(得分:1)
您可以使用segments
在边框中绘图。
segments(c(0.5,3.5,5.5,8.5), rep(0.5,4),
c(0.5,3.5,5.5,8.5), rep(5.5,4), lwd=3)
segments(c(0.5, 0.5), c(0.5, 5.5), c(8.5, 8.5), c(0.5,5.5), lwd=3)
或您可以使用不同颜色勾画并填充背景
ColorScheme = c("#FFEEEE", "#EEFFEE", "#EEEEFF")
Groups = c(rep(1,15), rep(2,10), rep(3, 15))
corrplot(as.matrix(Dat), is.corr=FALSE, tl.srt=45, bg=ColorScheme[Groups])
segments(c(0.5,3.5,5.5,8.5), rep(0.5,4),
c(0.5,3.5,5.5,8.5), rep(5.5,4), lwd=3)
segments(c(0.5, 0.5), c(0.5, 5.5), c(8.5, 8.5), c(0.5,5.5), lwd=3)