2013-09-10 5 views
2

Мне нравится использовать графики плотности плитки для представления плотности вероятности. Я часто использую второе (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

То, что я хочу представляет собой комбинацию следующего. Для A: enter image description here и B: enter image description here

ответ

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