通过多种颜色的填充梯度绘制瓷砖密度图

时间:2013-09-10 12:24:03

标签: r ggplot2 tile density-plot

我喜欢使用平铺密度图来表示概率密度。我经常使用第二个(y)维度来说明因子之间密度的比较,但是我在引入第三个维度时遇到了麻烦。我想用颜色来表示第三个维度。我怎样才能做到这一点? (我已尝试在下面的示例中插入aes Type引用,但它们似乎与..density..美学相冲突。)

从下图开始,

library(ggplot2)
dz <- data.frame(Type = c(rep("A", 100), rep("B", 100)), 
  Costs = c(rnorm(100), rnorm(100, 5, 1))
  )

ggplot(dz, aes(x = Costs, y = 1)) + 
  stat_density(aes(fill = ..density..), geom = "tile", position = "identity") + 
  scale_fill_gradient(low = "white", high = "black")

enter image description here

我想要的是以下各项的组合。对于Aenter image description hereBenter image description here

1 个答案:

答案 0 :(得分:4)

如果您将fill映射到Type,将alpha映射到密度,则会得到或多或少的所需内容:

ggplot(dz, aes(x = Costs, y = 1, fill=Type)) + 
  stat_density(aes(alpha=..density..), geom = "tile", position = "identity") +
  scale_fill_manual(values=c("red", "blue"))

Tile density plot