Eu descobri como colocar rótulos em geom_bar em R com ggplot2 , mas ele apenas colocou rótulos (números) em apenas uma barra.
Aqui estão, digamos, duas barras para cada eixo x, como fazer a mesma coisa?
Meus dados e código são assim:
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))
Então, obteremos:
Parece que os textos numéricos também estão posicionados no padrão "esquiva". Eu pesquisei o manual geom_text para encontrar algumas informações, mas não consigo fazer funcionar.
Sugestões?
vjust = -0.5
após aposition()
instrução para que os valores sejam colocados logo acima das barras.ymax
, portantoaes(x=Types, y=Number, fill=sample, ymax = 16000)
, produzirá uma área superior mais ampla para o eixo y, de modo que 15815 será melhor mostrado.geom_text(..., angle=-90)
Para adicionar à resposta do rcs, se você quiser usar position_dodge () com geom_bar () quando x for uma data POSIX.ct, você deve multiplicar a largura por 86400, por exemplo,
fonte