Change bar plot colour in geom_bar with ggplot2 in r
Sebastian Wright
I have the following in order to bar plot the data frame.
c1 <- c(10, 20, 40)
c2 <- c(3, 5, 7)
c3 <- c(1, 1, 1)
df <- data.frame(c1, c2, c3)
ggplot(data=df, aes(x=c1+c2/2, y=c3)) + geom_bar(stat="identity", width=c2) + scale_fill_manual(values=c("#FF6666"))I end up having only grey bars: Grey bars for bar plot
I would like to change the color of the bar. I already tried different scale_fill_manual from (ggplot2)/but still have grey bars.
Thank you for your help.
81 Answer
If you want all the bars to get the same color (fill), you can easily add it inside geom_bar.
ggplot(data=df, aes(x=c1+c2/2, y=c3)) +
geom_bar(stat="identity", width=c2, fill = "#FF6666")Add fill = the_name_of_your_var inside aes to change the colors depending of the variable :
c4 = c("A", "B", "C")
df = cbind(df, c4)
ggplot(data=df, aes(x=c1+c2/2, y=c3, fill = c4)) +
geom_bar(stat="identity", width=c2)Use scale_fill_manual() if you want to manually the change of colors.
ggplot(data=df, aes(x=c1+c2/2, y=c3, fill = c4)) +
geom_bar(stat="identity", width=c2) +
scale_fill_manual("legend", values = c("A" = "black", "B" = "orange", "C" = "blue"))