I'd like to add spaces between bars in ggplot2. This page offers one solution: How to increase the space between the bars in a bar plot in ggplot2?. Instead of using factor levels for the x-axis groupings, however, this solution creates a numeric sequence, x.seq, to manually place the bars and then scales them using the width()
argument. width()
doesn't work, however, when I use factor level groupings for the x-axis as in the example, below.
library(ggplot2)
Treatment <- rep(c('T','C'),each=2)
Gender <- rep(c('M','F'),2)
Response <- sample(1:100,4)
df <- data.frame(Treatment, Gender, Response)
hist <- ggplot(df, aes(x=Gender, y=Response, fill=Treatment, stat="identity"))
hist + geom_bar(position = "dodge") + scale_y_continuous(limits = c(0,
100), name = "")
Does anyone know how to get the same effect as in the linked example, but while using factor level groupings?
Is this what you want?
hist + geom_bar(width=0.4, position = position_dodge(width=0.5))
width
in geom_bar
determines the width of the bar.width
in position_dodge
determines the position of each bar.Probably you can easily understand their behavior after you play with them for a while.