Como fazer esquivar em geom_bar concordar com esquivar em geom_errorbar, geom_point

Eu tenho um conjunto de dados onde as medições são feitas para diferentes grupos em dias diferentes.

Eu quero ter barras lado a lado representando as medidas nos diferentes dias para os diferentes grupos com os grupos de barras espaçados de acordo com o dia de medição com barras de erro sobrepostas a eles.

Estou tendo problemas em fazer a esquivageom_bar concordar com a esquivageom_errorbar.

Aqui está um simples pedaço de código:

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

Na trama, os segmentos de erros aparecem com um deslocamento fixo da sua barra (desculpe, nenhum gráfico permitido para iniciantes mesmo se ggplot2 for o assunto).

Quando a largura de banda é ajustadageom_bar, o deslocamento não é fixo e muda de dia para dia.

Notar quegeom_errorbar egeom_point esquivar em conjunto. Como eu consigogeom_bar concordar com os outros dois?

Qualquer ajuda apreciada.

questionAnswers(3)

yourAnswerToTheQuestion