Comment «esquiver» la position de geom_point dans ggplot2?


19

J'utilise ggplot2 dans R pour créer des tracés comme les suivants:

entrez la description de l'image ici

Les barres d'erreur se chevauchent, ce qui semble vraiment désordonné. Comment puis-je séparer les barres d'erreur pour différents indices? J'ai utilisé position = "esquiver" mais cela ne semble pas fonctionner. Voici la partie principale de mon code:

plot =  ggplot(data,aes(x=ntrunc,y=beta_best,group=ntrunc,colour=INDEX))
       +geom_point(aes(shape=detectable),na.rm=TRUE,position="dodge") 
        +geom_errorbar(aes(x=ntrunc,ymax=beta_high,ymin=beta_low),na.rm=TRUE,position="dodge")

1
Avez-vous essayé différentes valeurs de «esquiver»? Par exemple quelque chose comme ça: position = position_dodge(width = 0.90). Voir aussi ce post .
COOLSerdash

Merci pour votre exemple. Cependant, je viens d'essayer différentes valeurs de largeur et cela ne fonctionne toujours pas.
ycc

2
Il est difficile de trouver des solutions sans le jeu de données d'origine. Mais une question que j'ai: pourquoi vos valeurs et les "groupes" sont-ils les mêmes? Qu'est-ce que c'est ? Ne devrait pas l' être ? xntruncgroupINDEX
COOLSerdash

Cela fonctionne maintenant après avoir changé group = "INDEX". Je pense que j'ai mal compris le sens de «groupe». Merci @COOLSerdash
ycc

Réponses:


12

Le groupe doit = INDEX au lieu de ntrunc dans les aes.

plot =  ggplot(data, aes(x=ntrunc, y=beta_best, group=INDEX, colour=INDEX)) +
   geom_point(aes(shape=detectable), na.rm=TRUE, position="dodge") +
   geom_errorbar(aes(x=ntrunc, ymax=beta_high, ymin=beta_low), na.rm=TRUE, position="dodge")

L'intrigue est meilleure maintenant.

entrez la description de l'image ici


7
Cela n'a pas fonctionné pour moi jusqu'à ce que j'utilisegeom_point(aes(shape=detectable),na.rm=TRUE, position=position_dodge(width=0.3))
Nova

Ce serait formidable d'obtenir un exemple de données ici car je ne peux pas reproduire votre résultat.
Léo Léopold Hertz 준영

1
@Nova, je suppose que la réponse a été cassée lors ggplot2du passage de la version 0.9.Xà 1.Xou2.X
Richard Erickson
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.