Я пытаюсь использовать facet_wrap со сложенными гистограммами, и мне бы хотелось, чтобы на столбцах были метки, отображающие значение каждой части столбца.
Используя в качестве примера набор данных diamonds:
Мой код geom_text работает нормально, когда есть только один график, хотя и для более коротких баров:
diamonds %>%
ggplot(aes(x = cut, fill = clarity)) +
geom_bar() +
geom_text(data = . %>%
group_by(cut, clarity) %>%
tally() %>%
ungroup() %>%
group_by(cut) %>%
ungroup(),
aes(y = n, label = n),
position = position_stack(0.5),
show.legend = FALSE)
Маркированная гистограмма без фасетирования
Однако, когда я добавляю фасетку, все метки отображаются во всех отдельных фасетах:
diamonds %>%
ggplot(aes(x = cut, fill = clarity)) +
geom_bar() +
facet_wrap(~ color) +
geom_text(data = . %>%
group_by(cut, clarity) %>%
tally() %>%
ungroup() %>%
group_by(cut) %>%
ungroup(),
aes(y = n, label = n),
position = position_stack(0.5),
show.legend = FALSE)
Граненая гистограмма с копией маркировка
Как сделать так, чтобы метки отображались только на соответствующих столбцах?
Спасибо!