Как заставить dodge в geom_bar согласиться с dodge в geom_errorbar, geom_point

У меня есть набор данных, где измерения сделаны для разных групп в разные дни.

Я хочу иметь рядом друг с другом столбцы, представляющие измерения в разные дни для разных групп с группами столбцов, разнесенными по дням измерений, с наложенными на них полосами ошибок.

У меня возникли проблемы с уклонением вgeom_bar согласен с уклонением.geom_errorbar

Вот простой кусок кода:

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

На графике сегменты ошибок появляются с фиксированным смещением относительно своей полосы (извините, для новичков не допускаются графики, даже если субъектом является ggplot2).

Когда ширина бина регулируется вgeom_barсмещение не фиксируется и меняется изо дня в день.

Заметить, чтоgeom_errorbar а такжеgeom_point увернуться в тандеме. Как я могу получитьgeom_bar согласиться с двумя другими?

Любая помощь приветствуется.

Ответы на вопрос(3)

Ваш ответ на вопрос