ggplot() lines transparency

Ali picture Ali · Jan 19, 2013 · Viewed 26k times · Source

How to change the transparency level of lines in ggplot() diagram (i.e. histogram, line plot, etc.)?

For instance consider the code below:

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)

I expected the lines would be transparent (as alpha=.4), but they're not.

enter image description here

Answer

Eric Fail picture Eric Fail · Jan 19, 2013

Simply following @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