Я пытаюсь отобразить частоты в barplot... хорошо, я хочу их где-нибудь в графике: под панелями, в панелях, выше панелей или в области легенды. И я вспоминаю (я могу быть неправым), что в этом можно выполнить ggplot2
. Это - вероятно, легкое..., по крайней мере, это кажется легким. Вот код:
p <- ggplot(mtcars)
p + aes(factor(cyl)) + geom_bar()
Есть ли шанс, что я мог встроить частоты в график?
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"
внутри.
Если вы не ограничены ggplot2, вы можете использовать? Text из базовой графики или? Boxed.labels из пакета plotrix.
Сложный способ сделать это. Я уверен, что есть подходы получше.
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])))
Если вы хотите добавить другую информацию, работает следующее:
ggplot(mydata, aes(x=clusterSize, y=occurence)) +
geom_bar() + geom_text(aes(x=clusterSize, y=occurence, label = mydata$otherinfo))