【发布时间】:2019-12-28 13:32:52
【问题描述】:
问题陈述
有没有办法改变ggplot2 中geom_bar 条形图中条形内部的透明度?基本上我想让“填充”比“颜色”更透明。
最小的工作示例
# Create fake data
df <- data.frame(language=c("Python", "Python", "R", "Julia", "R"),
filetype=c("Script", "Notebook", "Notebook", "Script", "Script"),
count=c(3,10,4,2,1))
# Make a barplot with ggplot
ggplot(data=df) +
geom_bar(aes(x=filetype, y=count, fill=language), position="dodge", stat="identity")
我尝试在aes() 之外使用alpha,但它只是让一切变得透明。如果您还可以使这种透明度更改出现在图例中,则可以加分!
解决方案
我想我可能已经找到了解决方案。诀窍是在aes() 中添加color=language。我认为这有效地将填充颜色与轮廓颜色分开。这样,当我们在geom_bar 中设置alpha 的值时,我们就得到了想要的效果。这是完整的例子
# Create fake data
df <- data.frame(language=c("Python", "Python", "R", "Julia", "R"),
filetype=c("Script", "Notebook", "Notebook", "Script", "Script"),
count=c(3,10,4,2,1))
# Make a barplot with ggplot
ggplot(data=df) +
geom_bar(aes(x=filetype, y=count, fill=language, color=language),
position="dodge", stat="identity", alpha=0.2)
【问题讨论】: