Покажите частоты наряду с barplot в ggplot2

Я пытаюсь отобразить частоты в barplot... хорошо, я хочу их где-нибудь в графике: под панелями, в панелях, выше панелей или в области легенды. И я вспоминаю (я могу быть неправым), что в этом можно выполнить ggplot2. Это - вероятно, легкое..., по крайней мере, это кажется легким. Вот код:

p <- ggplot(mtcars)
p + aes(factor(cyl)) + geom_bar()

Есть ли шанс, что я мог встроить частоты в график?

16
задан aL3xa 31 March 2010 в 10:00
поделиться

4 ответа

geom_text является аналогом text из базовой графики:

p + geom_bar() + stat_bin(aes(label=..count..), vjust=0, 
                          geom="text", position="identity")

Если вы хотите изменить положение меток по оси y, вы можете использовать эстетику y= в stat_bin: например, y=..count..+1 поместит метку на одну единицу выше бара.

Вышеописанное также работает, если вы используете geom_text и stat="bin" внутри.

20
ответ дан 30 November 2019 в 21:45
поделиться

Если вы не ограничены ggplot2, вы можете использовать? Text из базовой графики или? Boxed.labels из пакета plotrix.

-1
ответ дан 30 November 2019 в 21:45
поделиться

Сложный способ сделать это. Я уверен, что есть подходы получше.

ggplot(mtcars,aes(factor(cyl))) + 
geom_bar() + 
geom_text(aes(y=sapply(cyl,function(x) 1+table(cyl)[names(table(cyl))==x]),
label=sapply(cyl,function(x) table(cyl)[names(table(cyl))==x])))
4
ответ дан 30 November 2019 в 21:45
поделиться

Если вы хотите добавить другую информацию, работает следующее:

ggplot(mydata, aes(x=clusterSize, y=occurence)) +
geom_bar() + geom_text(aes(x=clusterSize, y=occurence, label = mydata$otherinfo))
1
ответ дан 30 November 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: