ggplot2: Change color for each facet in bar chart

前端 未结 2 1510
萌比男神i
萌比男神i 2021-02-11 01:26

I have a faceted bar chart done with ggplot2 with this code:

ggplot(data_long, aes(x=region, y=wert)) + 
geom_bar(aes(fill = kat ), position = \"dodge\", width=.         


        
2条回答
  •  面向向阳花
    2021-02-11 01:37

    Based on the answer @alexwhan, I could manually set the colors using this code:

      farb <- c("#428953", "#CE2929", "#A3DD57", "#77E599", "#5675D6", "#65ECEF", "#FF8B07", "#D0B100", "#636363")
    
      ggplot(data_long, aes(region, wert)) +
      geom_bar(aes(fill = type, alpha = factor(kat)), position = "dodge", stat = "identity") + 
      scale_alpha_manual(values = c(0.6, 1)) +
      facet_grid(. ~ type) +
      theme_bw() + theme( strip.background  = element_blank(),
                          panel.grid.major = element_line(colour = "grey80"),
                          panel.border = element_blank(),
                          axis.ticks = element_blank(),
                          panel.grid.minor.x=element_blank(),
                          panel.grid.major.x=element_blank() ) +
      theme(legend.position="bottom") +
      scale_fill_manual(values= farb)
    

    The color scale farbhas to be in the same order as the facets. Produces this chart:

提交回复
热议问题