2013-01-19 13 views
16

Come modificare il livello di trasparenza delle linee nel diagramma ggplot() (vale a dire istogramma, grafico a linee, ecc.)?ggplot() trasparenza linee

Per esempio consideriamo il codice qui sotto:

data <- data.frame(a=rnorm(100), b = rnorm(100,.5,1.2)) 
data <- melt(data) 
colnames(data) <- c("Category", "Intensity") 
p <- ggplot(data, aes(x=Intensity)) 
p <- p + geom_density(aes(color=Category), size=2, alpha=.4) 
print(p) 

mi aspettavo le linee sarebbero trasparente (come alpha=.4), ma non lo sono.

enter image description here

+4

'geom_density' utilizza alpha per l'estetica' fill'. Se non vuoi riempire, usa 'geom_line (aes (color = Category), stat =" density ", alpha = 0.4)' invece. – baptiste

risposta

18

Semplicemente seguendo @baptiste's directions,

data <- data.frame(a=rnorm(100), b = rnorm(100,.5,1.2)) 
data <- melt(data) 
colnames(data) <- c("Category", "Intensity") 
p <- ggplot(data, aes(x=Intensity)) 
p + geom_line(aes(color=Category), stat="density", size=2, alpha=0.4) 

Ceci n'est pas une pipe