Comment faire dodge dans geom_bar d'accord avec dodge dans geom_errorbar, geom_point

J'ai un jeu de données où les mesures sont effectuées pour les différents groupes à des jours différents.

Je veux, à côté des barres représentant les mesures sur des jours différents pour les différents groupes avec les groupes de barres espacées selon le jour de la mesure avec errorbars superposés pour eux.

Je vais avoir des problèmes avec la esquivant dans geom_bar d'accord avec la dodge sur geom_errorbar.

Ici est un simple morceau de code:

days          = data.frame(day=c(0,1,8,15));
groups        = data.frame(group=c("A","B","C","D", "E"), means=seq(0,1,length=5));


my_data       = merge(days, groups);


my_data$mid   = exp(my_data$means+rnorm(nrow(my_data), sd=0.25));
my_data$sigma = 0.1;


png(file="bar_and_errors_example.png", height=900, width=1200);
plot(ggplot(my_data, aes(x=day, weight=mid, ymin=mid-sigma, ymax=mid+sigma, fill=group)) +
     geom_bar      (position=position_dodge(width=0.5))                                   +
     geom_errorbar (position=position_dodge(width=0.5), colour="black")                   +
     geom_point    (position=position_dodge(width=0.5), aes(y=mid, colour=group)));
dev.off();

Dans l'intrigue, le errorsegments s'affiche avec un décalage de son bar (désolé, pas de parcelles de permis pour les débutants, même si ggplot2 est le sujet).

Quand binwidth est ajusté geom_barle décalage n'est pas fixe et change de jour en jour.

Avis, que geom_errorbar et geom_point dodge en tandem.
Comment puis-je obtenir geom_bar d'accord avec les deux autres?

Toute aide appréciée.

source d'informationauteur user1771185