R corrplot - цвет, зависящий от значения - PullRequest
0 голосов
/ 03 октября 2018

У меня есть двоичный файл 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()

Я получаю график корреляции, но во многих случаях я получаю неправильную окраску (см. Ниже на0,91).

picture

данные: файл

Как мне добиться правильной окраски?

1 Ответ

0 голосов
/ 03 октября 2018

В целом, corrplot библиотека довольно странная, когда дело доходит до cl.lim и цветов.По какой-то причине, кажется, не имеет значения, если вы установите cl.lim или нет - цвета будут по-прежнему распределяться от -1 до 1.

Так что в вашем случае просто используйте 39 синих цветов вместо 19 (для охвата диапазона от -1 до 1):

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")

И результат: corrplot

...