我开始使用ggplot2。我有一些小的n(大约30左右)粒度数据,有很多重叠。抖动和alpha(透明度)都不合适。相反,带有堆栈和偏移的条形图最好,但我不知道如何在ggplot2中执行此操作。你知道吗?
要查看最终结果应该点击此graphic。
这是几年前我用过的脚本。
stripchart(SystData$DayTo1Syst~SystData$strain,vertical=TRUE,method="stack",pch=19,offset=.3,xlab="Strain",main="Rapidity of Systemic Disease Onset",ylab="Days post inoculation")
答案 0 :(得分:8)
您可以使用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))
答案 1 :(得分:6)
# 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()
答案 2 :(得分:4)
您想使用ggplot2中的geom_dotplot
你可能想要使用:
ggplot(insert your arguments here) + geom_dotplot(binaxis = "y", stackdir = "center")
希望这会有所帮助。结果看起来很干净,这就是我认为你想要的。