6

我开始使用ggplot2。我有一些小的 n(大约 30 个左右)粒度数据,有很多重叠。抖动和 alpha(透明度)都不合适。相反,带有堆栈和偏移量的条形图做得最好,但我不知道如何在 ggplot2 中做到这一点。你知道吗?

要查看最终结果应单击此图形

这是我几年前使用的脚本。

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")
4

3 回答 3

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))

替代文字 http://img100.imageshack.us/img100/8760/dodgel.png

于 2010-03-24T10:04:39.580 回答
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() 
于 2010-03-24T03:33:51.857 回答
4

您想使用ggplot2中的 geom_dotplot

您可能想要使用:

ggplot(insert your arguments here) + geom_dotplot(binaxis = "y", stackdir = "center")

希望这可以帮助。结果看起来很干净,这就是我认为你想要的。

于 2014-05-16T17:36:09.083 回答