Подтвердить что ты не робот

Как поместить метки над geom_bar для каждого бара в R с помощью ggplot2

Я нашел это, Как разместить метки над 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))

Затем мы получим: enter image description here

Кажется, что числовые тексты также расположены в шаблоне "уклонение". Я искал geom_text manual, чтобы найти некоторую информацию, но не могу заставить ее работать.

Предложения?

4b9b3361

Ответ 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)

ggplot output

Ответ 2

Чтобы добавить к ответу 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)