Ответ 1
Попробуйте следующее:
ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) +
geom_bar(position = 'dodge', stat='identity') +
geom_text(aes(label=Number), position=position_dodge(width=0.9), vjust=-0.25)
Я нашел это, Как разместить метки над geom_bar в R с помощью ggplot2, но просто поместил метки (числа) только на одну строку.
Вот, допустим, два бара для каждой оси х, как сделать то же самое?
Мои данные и код выглядят следующим образом:
dat <- read.table(text = "sample Types Number
sample1 A 3641
sample2 A 3119
sample1 B 15815
sample2 B 12334
sample1 C 2706
sample2 C 3147", header=TRUE)
library(ggplot2)
bar <- ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) +
geom_bar(position = 'dodge') + geom_text(aes(label=Number))
Затем мы получим:
Кажется, что числовые тексты также расположены в шаблоне "уклонение". Я искал geom_text manual, чтобы найти некоторую информацию, но не могу заставить ее работать.
Предложения?
Попробуйте следующее:
ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) +
geom_bar(position = 'dodge', stat='identity') +
geom_text(aes(label=Number), position=position_dodge(width=0.9), vjust=-0.25)
Чтобы добавить к ответу rcs, если вы хотите использовать position_dodge() с geom_bar(), когда x является датой POSIX.ct, вы должны умножить ширину на 86400, например,
ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) +
geom_bar(position = "dodge", stat = 'identity') +
geom_text(aes(label=Number), position=position_dodge(width=0.9*86400), vjust=-0.25)