Я хотел бы добавить сводную статистику на блочной диаграмме при максимальной динамической оси y.
В реальных данных ось y представляет собой динамический раскрывающийся список, одно значение находится в диапазоне от 0 до 6; а другой от 0 до 100. В приведенном ниже примере я жестко закодировал, где я хотел бы, чтобы метки были, но я не могу жестко закодировать их в реальных данных.
Есть ли способ:
Установить метки за пределами графика над осью Y? Чтобы метки не сдвинулись даже при смене оси?
Или есть способ установить максимальное значение Y + n?
Пример:
# library
library(ggplot2)
library(ggpubr)
# create a data frame
variety=rep(LETTERS[1:7], each=40)
treatment=rep(c("high","low"),each=20)
note=seq(1:280)+sample(1:150, 280, replace=T)
data=data.frame(variety, treatment , note)
# grouped boxplot
ggplot(data, aes(x = variety, y = note, fill = treatment)) +
geom_boxplot() +
scale_fill_manual(values = c("#79AAB9", "#467786")) +
stat_compare_means(aes(group = treatment), label = "p.format") +
stat_summary(
fun.data = function(x)
data.frame(y = 460, label = paste(round(median(
x
), 1))),
geom = "text",
aes(group = treatment),
hjust = 0.5,
position = position_dodge(0.9)
) +
stat_summary(
fun.data = function(x)
data.frame(y = 445, label = paste("n", length(x))),
geom = "text",
aes(group = treatment),
hjust = 0.5,
position = position_dodge(0.9)
) +
expand_limits(y = 100)
Большое спасибо за любую помощь заранее.