R corrplot-颜色取决于值

R corrplot-颜色取决于值,r,plot,r-corrplot,R,Plot,R Corrplot,我有一个二进制data.frame(53115行;520列),我想绘制一个相关图。我想根据值给它上色,相关值>=0.95(红色),否则为蓝色 correl <- abs(round(cor(bin_mat), 2)) pdf("corrplot.pdf", width = 200, height = 200) a <- corrplot(correl, order = "hclust", addCoef.col = "black", number.cex=0.8, cl.lim =

我有一个二进制
data.fram
e(53115行;520列),我想绘制一个相关图。我想根据值给它上色,相关值>=0.95(红色),否则为蓝色

correl <- abs(round(cor(bin_mat), 2))

pdf("corrplot.pdf", width = 200, height = 200)
a <- corrplot(correl, order = "hclust", addCoef.col = "black", number.cex=0.8, cl.lim = c(0,1), col=c(rep("deepskyblue",19) ,"red"))
dev.off()

correl一般来说
corrplot
库在
cl.lim
和颜色方面非常奇怪。出于某种原因,如果设置
cl.lim
与否似乎无关紧要-颜色仍将从-1分布到1

因此,在您的情况下,只需使用39种蓝色而不是19种(覆盖范围从-1到1):

cors
cors <- cor(iris[,-5])
cors[cbind(c(1,2), c(2,1))] <- 0.912
corrplot(cors, col=c(rep("blue", 39), "red"), cl.lim=c(-1,1), addCoef.col="black")