ggplot() 线条透明度

34

如何调整ggplot()图表中(例如直方图、线图等)线条的透明度?

比如考虑下面的代码:

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)

我原本希望这些线条是透明的(像alpha=.4那样),但它们并不透明。

图片描述


7
geom_density 函数中使用 alpha 参数来控制填充透明度。如果不需要填充,可以使用 geom_line(aes(color=Category), stat="density", alpha=0.4) 函数代替。 - baptiste
1个回答

38

只需简单地按照@baptiste的指示进行操作,

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)

这不是一支烟斗


1
如何在其他几何图形上实现这个功能?有什么想法吗? - Indranil Gayen
1
你应该提出一个新问题。尝试展示你已经做了什么,如果可能的话,努力具体化。干杯! - Eric Fail
1
关于Indranil的问题:要设置不透明度 - 可以使用“alpha=n”,其中n从0(透明)到1(不透明) - 几乎可以在任何geom元素上使用。还可以通过将不透明度添加到“颜色”(或“填充”)中的RGB规范中,使用“color=#rrggbbAA”,其中AA从00(透明)到FF(不透明)(请参见:https://github.com/tidyverse/ggplot2/blob/HEAD/R/aes-colour-fill-alpha.r)。 - Dan Tarr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接