我试图根据密度值在R中创建一个颜色块。因此,例如给定10个具有密度分布的值:
values = c(0,1,2,3,4,5,6,7,8,9)
密度= c(0.7,0.1,0.05,0,0,0,0,0.05,0.05,0.05)
我想创建一个基本上是彩色条的区域,其中最大的密度是例如黑色和最小的白色,间隔值介于两者之间,但比例也是如此,即如果暗的一半为0.1,则为0.05,相似的值为相同的颜色。
正如我想到的那样,我可以创建一个条形图,所有条形高度相同,没有边框等,并且密度用于创建颜色。然而,无论我怎么努力,我都无法弄清楚如何使配色方案正确。
我创建了一个渐变,但这与密度无关。此外,我已将颜色与密度与densCols相关联,但我还没有设法使颜色顺序。
有人能指出我正确的方向吗?我见过类似的问题,但没有一个能让我达到我需要的地步。如果可能的话,我更愿意使用基本图形包。
提前致谢。
答案 0 :(得分:0)
如果你可以在[0,1]范围内标准化值,你可以使用像grey
这样的函数(灰度)。
## not with density but with probability example
val<- rnorm(100) < 0.5
mean(val)
grey(0) # black
grey(1) # white
## color intensity proportional to probability
grey(1 - prop.table(table(val)))