Como usar o geom_text em um gráfico de barras?

Oi, eu to construindo um gráfico de observações por mês e gostaria de ter o valor máximo de observações em cima de cada barra pra facilitar a visualização. Eu não sei o que colocar dentro da função :cry:, ajuda?? Obrigada!

Oi Louise! Veja se isso atende!

library(tidyverse)
    mtcars %>%
        count(cyl) %>%
        ggplot(aes(cyl, n)) +
        geom_col() +
        geom_text(aes(label = n), nudge_y = 0.5)

Created on 2020-06-11 by the reprex package (v0.3.0)

1 Curtida

Athos, apareceu esse erro:

“Don’t know how to automatically pick scale for object of type function. Defaulting to continuous.
Erro: Aesthetics must be valid data columns. Problematic aesthetic(s): label = n.
Did you mistype the name of a data column or forget to add after_stat()?”

ele nao encontrou a coluna chamada “n” na sua base de dados. Tem coluna chamada “n” na base?

Aaaa entendi, então no label eu coloco a coluna que eu quero ver os valores? Só que quando eu coloquei o nome da coluna apareceu outro erro: geom_text requires the following missing aesthetics: x and y… Eu to usando geom_bar em vez do geom_col, não sei se faz diferença pra isso.

faz diferença, sim. Sugiro vc usar o geom_col() e especificar o y no aes. Tipo,

bd %>%
count(mes) %>%
ggplot(aes(x = mes, y = n)) + geom_col() + geom_text()

aaaaa eu não tava usando o count :see_no_evil:, deu tudo certo agora, valeu!

1 Curtida

Uma dúvida sobre esse gráfico, e se ela quisesse colorir e colocar na ordem de tamanho das barras? não consegui fazer. :pensive:

library(tidyverse)
    mtcars %>%
        count(cyl) %>%
        mutate(
            cyl = fct_reorder(as.factor(cyl), n)
        ) %>%
        ggplot(aes(cyl, n, fill = cyl)) +
        geom_col() +
        geom_text(aes(label = n), nudge_y = 0.5)

Created on 2020-06-13 by the reprex package (v0.3.0)

Eu ordenei os fatores usando fct_reorder() e pintei o preenchimento pela caracteristica fill!
Era isso?