I am starting to use ggplot2. I have some small n (about 30 or so) granular data with lots of overlap. Neither jitter nor alpha (transparency) are suitable. Instead a stripchart
You want to use geom_dotplot from ggplot2
you will probably want to use:
ggplot(insert your arguments here) + geom_dotplot(binaxis = "y", stackdir = "center")
Hope this helps. The results will look really clean which is what I think you want.
You can use position_dodge
.
df <- data.frame(gp = rep(LETTERS[1:5], each =8),
y = sample(1:4,40,replace=TRUE))
qplot(gp,y,data=df,order=y,position=position_dodge(width=0.5))
alt text http://img100.imageshack.us/img100/8760/dodgel.png
# your data
df <- data.frame(gp = rep(LETTERS[1:5], each =8), y = sample(1:4,40,replace=TRUE))
# calculate offsets
df <- ddply(df, .(y, gp), transform, offset = (1:length(gp)-1)/20)
qplot(gp, y, data=df) + stat_identity(aes(as.numeric(gp)+offset)) + theme_bw()