Prezadxs , boa noite!
Preciso de uma ajuda com um gráfico no ggplot2.
Estou com dificuldade de colocar os rótulos dentro do meu gráfico de barras acumulado (horizontal) e também o total das barras no final de cada um.
Na hora de colocar os rótulos eles ficam bagunçados e errados, simplesmente não consigo fazer o número ficar dentro da barra certa.
Já para o total da barra, eu não faço a menor ideia de como colocar o valor haha.
Minha tentativa no R: (rótulos zoados e sem total)
Tentativa no excel para exemplificar o resultado final:
Agradeço a ajuda!
Segue código:
# data: 19/03/2021
# instala e carrega os pacotes necessários
# if(!require(pacman)) {install.packages("pacman")}
# pacman::p_load(magrittr, tidyverse,dataedu)
# remotes::install_github("data-edu/dataedu") # Adicionado pela Bea para o código não quebrar
# carrega apenas o pipe
library(magrittr)
# utilizando o pacote datapasta para copiar a base de dados diretamente do excel
database <-
tibble::tribble(
~tipo, ~uf, ~n,
"Soja", "SC", 1288,
"Milho", "SP", 370,
"Soja", "PR", 331,
"Milho", "PR", 262,
"Soja - Velha", "SC", 179,
"Soja", "SP", 123,
"Soja - Velha", "PR", 56,
"Cafe", "PR", 31,
"Cana", "PR", 15,
"Cafe", "SP", 1
)
# montando gráfico
database %>%
dplyr::mutate(tipo = forcats::fct_reorder(tipo, n)) %>%
ggplot2::ggplot() +
ggplot2::geom_col(ggplot2::aes(x = n, y = tipo, fill = uf)) +
ggplot2::scale_fill_manual(
breaks =
c("SP", "PR", "SC"),
values =
c("SP" = "#FBB4AE",
"PR" = "#CCEBC5",
"SC" = "#B3CDE3")
) +
ggplot2::labs(title = "Quantidade de linhas com duplicidade",
x = "Quantidade de observações",
y = "",
fill = "Estados") +
ggplot2::geom_label(ggplot2::aes(x = n, y = tipo , label = n)) +
dataedu::theme_dataedu() +
ggplot2::theme(
plot.title = ggplot2::element_text(hjust = 0.5),
legend.position = c(.80, .50),
legend.justification = c("right", "top"),
legend.box.just = "right",
legend.box.background = ggplot2::element_rect(color = "black", size =
.5),
)