Как добавить значения данных переменной над столбцами Barplot?
Ответы (1 шт):
для добавления надписей на график можно использовать функцию geom_text().
возьмём для примера набор данных mpg и нарисуем разбивку по переменной class:
> ggplot(mpg, aes(class)) + geom_bar()
чтобы надпись содержала количество наблюдений (count), функции geom_text() надо передать такие параметры:
> ggplot(mpg, aes(class)) + geom_bar()
+ geom_text(stat= "count", aes(y = ..count.., label = ..count..))
уже практически то, что нужно. только вот надписи сливаются со столбиками и надо бы выводить их не вровень с верхним краем столбика, а немного выше. для этого подойдёт параметр vjust (видимо, «vertical adjust»):
> ggplot(mpg, aes(class)) + geom_bar()
+ geom_text(stat= "count", aes(y = ..count.., label = ..count..), vjust = -0.5)
теперь, вроде, всё как надо.
как вариант — можно не сдвигать надписи, а выделить их, заменив функцию geom_text() на geom_label():
> ggplot(mpg, aes(class)) + geom_bar()
+ geom_label(stat= "count", aes(y = ..count.., label = ..count..))
на мой взгляд — даже симпатичнее получилось.
p.s. ещё вместо vjust можно сразу увеличить вертикальную позицию. например, на единицу:
> ggplot(…) + … + geom_text(…, aes(y = ..count.. + 1, …))





