Как добавить метки подсчета частоты к столбцам гистограммы с помощью ggplot2?

Я хочу построить частотное распределение факторной переменной [r] в виде гистограммы, где столбцы представляют собой частотные подсчеты уровней факторов. Я использую ggplot2 для этого, и с этим проблем нет.

Чего я не могу понять, так это того, как добавить метки подсчета частоты к столбцам гистограммы. Синтаксис, который я пробовал, выглядит следующим образом:

ggplot(data, aes(x = factorvar)) + geom_bar(fill = "somecolor") + geom_text(aes(y = ???))

Я думаю, что тщательно искал в stackoverflow и «Поваренной книге R Graphics» В.Чанга, но не смог найти конкретного ответа на то, какой параметр должен соответствовать «y» в эстетике geom_text() выше. Я попробовал несколько вариантов, например: (y = ..count..), но это не сработало.

Буду признателен за любую помощь. Спасибо...


person Tamer Koksal    schedule 24.10.2014    source источник
comment
Из некоторых частичных примечаний к этому вопросу приведен пример:   -  person lawyeR    schedule 25.10.2014


Ответы (1)


ggplot(data=diamonds, aes(x=clarity)) +
geom_bar() +
geom_text(stat='count', aes(label=..count..), vjust=-1)

введите здесь описание изображения

person keegan    schedule 24.10.2014
comment
Для меня это сработало с stat='count' - person Dinesh; 19.12.2016
comment
Stat = "count" у меня тоже сработало. Ошибка говорит, что StatBin требует непрерывной переменной, но у меня есть категориальные переменные. - person Alison Bennett; 28.02.2017
comment
Что вы используете опцию fill = variable и хотите только общее количество столбцов? - person Esben Eickhardt; 23.03.2017
comment
Я получаю это предупреждение: stat_bin() использую bins = 30. Выберите лучшее значение с помощью binwidth. - person skan; 28.10.2017
comment
Я получил сообщение об ошибке, говорящее о том, что для stat_count требуется следующая отсутствующая эстетика: x - person Sagar; 17.01.2020
comment
ggplot2 версии 3.3.0 теперь поддерживает geom_text(stat = "count", aes(label = after_stat(count)), vjust = -1) - person gofraidh; 06.04.2020
comment
Если вы хотите использовать geom_label: geom_label(stat="count", aes(label=format(after_stat(count), big.mark = ","))). Я не знаю, вычисляет ли это количество дважды, один раз для geom_bar и один раз для меток... - person Jabro; 16.10.2020