Матрица корреляции графиков с R в определенном диапазоне данных
Я использовал corrplot
пакет для построения моих пар данных. Но все отношения в моих данных положительные.
Mydata<-read.csv("./xxxx.csv")
M <-cor(Mydata)
corrplot(M,,col=rev(brewer.pal(n=8, name="RdYlBu")))
С помощью ggcorr
Я также не могу найти какое-либо решение для решения этой проблемы.
Как создать пользовательскую цветовую карту с соответствующим диапазоном от 0 до 1?
1 ответ
Если вы пытаетесь отобразить весь диапазон цветовой карты только на положительные корреляции, вы можете использовать col = rep(rev(brewer.pal(n=8, name="RdYlBu")), 2)
, Это повторяет цветовую последовательность, а затем cl.lim = c(0,1)
заставляет corrplot использовать только 2-ю половину последовательности, сопоставленную с диапазоном от 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))
Некоторые воспроизводимые данные
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)