如何使用ggplot2创建黑白透明重叠直方图?

时间:2013-05-08 20:26:15

标签: r ggplot2 textures histogram

我用ggplot2创建了两个透明的重叠直方图。

test = data.frame(condition = rep(c("a", "b"), each = 500), value = rep(-1, 1000))
test[1:500,]$value = rnorm(500)
test[501:1000,]$value = rnorm(500) + 2

fig = ggplot(test, aes(x = value, fill = condition)) +
      #scale_fill_grey() +
      geom_histogram(position = "identity", alpha = .5)
fig

结果情节看起来很棒,但它是彩色的。我需要灰度或黑/白情节。

使用“scale_fill_grey()”会产生一个透明度非常难以“阅读”的情节。

理想情况下,我想要一个使用纹理而不是颜色的黑/白图,例如,交叉影线:对于一个条件为“///”,对于另一个条件为“\\\”,从而产生“XXX”当条形重叠时。这可能吗?

1 个答案:

答案 0 :(得分:10)

这个怎么样(还没有纹理)?

fig = ggplot(test, aes(x = value, fill = condition)) +
    geom_histogram(position = "identity", alpha = .8) + 
    scale_fill_manual(values=c("grey20", "grey60")) + theme_bw()
fig

enter image description here