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=.
I'm not sure this is the best way to communicate your information, but this is how I'd approach it. Just map fill to region, and use alpha for year. Mine will be a bit different to yours because you didn't provide the structure of the data.
ggplot(data_long, aes(type, wert)) + geom_bar(aes(fill = region, alpha = factor(kat)), position = "dodge", stat = "identity") +
scale_alpha_manual(values = c(0.6, 1)) +
facet_grid(. ~ region) +
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")
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 farb
has to be in the same order as the facets. Produces this chart: