在特定数据范围内绘制与R相关的矩阵

时间:2017-01-09 01:41:54

标签: r ggplot2 r-corrplot

我使用corrplot包来绘制数据对。但我数据中的所有关系都是积极的。

Mydata<-read.csv("./xxxx.csv")
M <-cor(Mydata)
corrplot(M,,col=rev(brewer.pal(n=8, name="RdYlBu")))    

使用ggcorr,我也找不到任何解决问题的方法。

enter image description here

如何生成用户定义的色彩映射,其对应范围为0到1?

1 个答案:

答案 0 :(得分:1)

如果您尝试将色彩映射的整个范围映射到仅正相关,则可以使用col = rep(rev(brewer.pal(n=8, name="RdYlBu")), 2)。这会重复颜色序列,然后cl.lim = c(0,1)强制corrplot仅使用序列的后半部分,映射到0到1的范围。

par(xpd=T)
corrplot(M,,'upper', 
  col = rep(rev(brewer.pal(n=8, name="RdYlBu")), 2), 
  cl.lim = c(0,1),
  mar = c(1, 0, 1, 0))

enter image description here

一些可重现的数据

set.seed(12)
x = (1:100)/100
Mydata = data.frame(a=x^runif(1, 0, 50), 
                    b=x^runif(1, 0, 50),
                    c=x^runif(1, 0, 50), 
                    d=x^runif(1, 0, 50),
                    e=x^runif(1, 0, 50),
                    f=x^runif(1, 0, 50),
                    g=x^runif(1, 0, 50),
                    h=x^runif(1, 0, 50),
                    i=x^runif(1, 0, 50))

M = cor(Mydata)