Ответ 1
Карта fill
эстетика grp
и добавьте для нее подобный масштаб. Я использую несколько разные цвета, чтобы сделать видимым среднее.
Чтобы изменить ширину boxplot, используйте ggsave
с различными параметрами width
, ящики будут автоматически настроены. Если вы хотите добавить промежуток между ними, вам придется немного обмануть, см. Ниже.
Невозможно изменить ширину в сочетании с stat_summary
: хотя есть параметр width
для geom_bar
и geom_boxplot
, я не смог бы корректно работать с stat_summary
. Вместо этого я использую некоторые грязные трюки с scale_x
.
K <- length(unique(xdf2$month))
lev <- seq_len(1 + 2 * K)
xdf2$month2 <- factor(2 * xdf2$month,
levels = lev)
ggplot(data = xdf2, aes(month2, m, color = grp, fill = grp)) +
stat_summary(fun.data = f, geom="boxplot",
position=position_dodge(width=1.5), size=1) +
stat_summary(fun.y = o, geom="point", position=position_dodge(width=1.5)) +
scale_color_manual(values = c("gray30","darkgrey"),labels = c("AAA","BBB")) +
scale_fill_manual(values = c("gray20","grey75"),labels = c("AAA","BBB")) +
theme_bw() +
scale_x_discrete(limits = lev, breaks = 1:K*2, labels = 1:K)
Проиграйте width
в position_dodge
для дополнительной настройки.