我有一个包含 224900 个观察值和 10 个变量的数据集,这些变量是不同泰勒级数反向转换到原始数据值的结果。我希望覆盖这 10 个变量中每一个变量的密度图,以显示泰勒级数反变换对数据估计的稳健性水平。而不是只有 10 条线,我认为应用颜色会很好,这样每个密度图都会贡献 10% 的灰度。如果数据仅与其中一个图相关,则灰色为 10%,两个图的暗度为 20% 时的两倍,直到所有密度图重叠的地方,即 100%。
我曾经melt
得到一个 2249000 行长的数据框。共有三列,第一列是人员 ID,第二列是分组变量(variable
),第三列是每日 kJ 摄入量值(value
)。
我使用下面的代码来覆盖密度图,ggplot2
但它对组使用不同的颜色。如何更改此代码以获得我的灰度?我希望所有 10 个组具有相同的颜色和颜色密度;该图的目的只是使用灰度直观地显示密度图上的重叠量。
ggplot(Energy, aes(x=value, fill=variable)) + geom_density(alpha = 0.5)
一些测试数据可供希望提供帮助的人使用,使用 5 组而不是 10 组:
variable <- c(rep("A",100), rep("B",100), rep("C",100), rep("D",100), rep("E",100))
value <- c(rnorm(100,5000,200), rnorm(100,5050,210), rnorm(100,5100,215),
rnorm(100,5150,220), rnorm(100,5200,225))
MyData <- cbind.data.frame(value, variable)
ggplot(MyData, aes(x=value, fill=variable)) + geom_density(alpha = 0.5)
我认为答案可能与修改scale_colour_grey
和/或有关,scale_manual
但我对自己的理解还不够。