Я пытаюсь добавить общее количество наблюдений к моему шестнадцатеричному графику, который был огранен с помощью facet_wrap
. Но я либо получаю номер образца для каждого бина, либо не могу разместить текст на графике из-за макета.
Я пытался использовать group_by()
и tally()
из пакета dplyr
, чтобы найти значения, но не смог их построить.
ggplot(data = chris.sale.total, aes(x = px, y = pz)) +
geom_hex() +
coord_fixed() +
strike.zone +
home.plate +
scale_fill_viridis() +
facet_wrap(~outcome) +
theme_grey()
Используя group_by
и tally
создайте новый data.frame.
Затем добавьте geom_label
к вашему графику.
chris.sale.tally <- chris.sale.total %>% group_by(outcome) %>% tally()
ggplot(data = chris.sale.total, aes(x = px, y = pz)) +
geom_hex() +
coord_fixed() +
strike.zone +
home.plate +
geom_label(aes(label=paste('n=', n)), x=-4.25, y=5, vjust=0, hjust=0, data=chris.sale.tally) +
scale_fill_viridis() +
facet_wrap(~outcome) +
theme_grey()
Что, если вы добавите количество наблюдений к граням? Например, вот так:
chris.sale.total <- chris.sale.total %>% group_by(outcome) %>% mutate(outcome_observation = paste0(outcome," - ", n()," observations"))
и затем используйтеfacet_wrap(outcome_observation)