尊敬的stackoverflow社区,
我有一个具有不同相关值的向量,我想将其链接到相应的颜色代码(例如-1 =“深红色”,0 =“浅灰色”,1 =“深绿色”)。因此,例如,如果我的相关性最大值为0.75,则相应的颜色值应为“较浅的绿色”。在R中有解决方案吗?
谢谢!
答案 0 :(得分:0)
您要寻找的是ggplot2::scale_colour_gradient2()
。由于您没有提供任何示例数据(我会在以后强烈建议您使用;它会鼓励回答并帮助应答者根据您的实际数据结构来定制答案),因此我制作了以下简单示例:
library(ggplot2)
set.seed(123)
n <- 1000
corrs <- seq(-0.9, 0.9, length.out = 10)
vals <- matrix(0, nrow = 0, ncol = 2)
for ( corr in corrs ) {
tmp <- mvtnorm::rmvnorm(n/10, sigma = matrix(c(1, corr, corr, 1), nrow = 2))
# print(cor(tmp)) # If you want to do QA
vals <- rbind(vals, tmp)
}
df <- data.frame(var1 = vals[ , 1], var2 = vals[ , 2],
corr = rep(corrs, each = n/10))
ggplot(df, aes(x = var1, y = var2, colour = corr)) +
geom_point(shape = 1) +
scale_colour_gradient2(low = "darkred", mid = "gray", high = "darkgreen")