多色条形图ggplot

multicolor bar chart ggplot

我正在尝试制作多色条形图,但是 scale_fill_manual 或 scale_color_brewer 等在外部或内部都不起作用 geom_bar -> 有人可以帮忙吗?

ggplot(data=sust_future, aes(x=as.factor(`sust.self-perception`))) + 
  geom_bar(aes(y = (..count..)/sum(..count..)),width=0.6) +  
  scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9")) +
  scale_y_continuous(labels=scales::percent) + 
  labs(title = "xxx", x = "", y = "") +
  theme(legend.position = "bottom",
        axis.text.x=element_text(size=8),
        axis.text.y=element_text(size=8)) 

我不确定您希望条形如何着色(例如,基于列中的一个因素或基于某些其他条件)。如果您尝试根据数据中的某些内容为 geom_bar 着色,则必须通过 aes(fill = column_name)ggplot() 中全局定义您希望如何在条形中着色或特别是 geom_bar()。这是您可以尝试在您的案例中实施的示例(因为我不知道 sust_future:

中的内容
# global setting
ggplot(iris, aes(x = Species, fill = Species)) +
  geom_bar()+
  scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"))

# local to geom_bar
ggplot(iris, aes(x = Species)) +
  geom_bar(aes(fill = Species))+
  scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"))