scale_fill_manual在geom_bar中无效

7

我正在尝试使用scale_fill_manual在ggplot2中更改条形图的颜色,但由于某种原因,只有在内部使用美学选项中的填充选项才起作用。 我做了一个例子:

library(ggplot2)
library(dplyr) 
iris %>% ggplot(aes(x=Sepal.Width,y=Sepal.Length))+
geom_bar(stat="identity") + scale_fill_manual(values='lightblue')

这是结果,颜色没有改变: enter image description here 现在,在美学内使用填充选项,它可以工作:
iris %>% ggplot(aes(x=Sepal.Width,y=Sepal.Length, fill=factor(2) ))+
geom_bar(stat="identity")+scale_fill_manual(values='lightblue')

enter image description here

有没有一种方法可以在不使用填充选项的情况下改变条形图的颜色,只使用scale_fill_manual?


9
只有当你在 aes 中有一个 fill 美学时,scale_fill_manual 才能起作用。但是如果你不想将数据列映射到填充美学中,为什么不在 geom_bar 中设置填充颜色呢:geom_bar(stat="identity", fill="lightblue") - eipi10
请记住,aes()函数是用来映射美学元素的,但你也可以使用普通的函数参数来设置它们。 - Axeman
我在这里发布了一个类似的问题:https://github.com/jrnold/ggthemes/issues/67 (尚未得到答复) - LucasMation
2
@LucasMation,这个Stack Overflow答案是否回答了你的问题? - eipi10
@eipi10,太棒了!谢谢! - LucasMation
显示剩余3条评论
1个回答

4
您需要在您的中定义fill

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