2010-03-23 15 views
6

Je commence à utiliser ggplot2. J'ai quelques n (environ 30) données granulaires avec beaucoup de chevauchement. Ni la gigue ni l'alpha (transparence) ne conviennent. Au lieu de cela, un diagramme avec pile et offset le fait mieux mais je ne sais pas comment le faire dans ggplot2. Savez-vous?Comment surmonter les chevauchements de points sans gigue ou transparence dans ggplot2

Pour voir quel devrait être le résultat final, cliquez sur ce graphic.

Voici le script que j'ai utilisé il y a quelques années.

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

Est-ce juste une gigue sur l'axe des x? –

+0

Oui. La gigue serait juste sur l'axe des x mais je ne veux pas vraiment de gigue. Je préfère une progression ordonnée de gauche à droite. – Farrel

+0

Une intrigue de tournesol pourrait très bien fonctionner ici, même si je ne sais pas comment il est simple de les créer avec ggplot2. –

Répondre

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

Vous pouvez utiliser 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

+1

Si vous regardez de près, ce n'est pas ce que Farrel veut: la position esquive tous les points, alors que la figure de l'exemple ne fait que répartir les points surdimensionnés – xiechao

4

Vous voulez utiliser geom_dotplot de ggplot2

vous voudrez probablement utiliser:

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

Hope this helps. Les résultats sembleront vraiment propres, ce que je pense que vous voulez.