#' @title Desenha grafico de mortalidade-letalidade por estado
#'
#' @description Desenha os dados de mortalidade e letalidade por estado de acordo com os dados do ministerio da educacao
#'
#' @param dados Dados do ministério da saúde (ou brasilio) de mortalidade e letalidade
#'
#' @return Um gráfico com a mortalidade letalidade por estado e para o Brasil
#'
#' @import ggplot2
#'
desenha_mortal_letal = function(dados){
# Define dados necessarios
dados_mortal_letal = rbind(dados[, .(populacaoTCU2019, casosAcumulado, obitosAcumulado, estado, mortalidade, letalidade)],
dados[,.(populacaoTCU2019 = sum(populacaoTCU2019), obitosAcumulado = sum(obitosAcumulado), casosAcumulado = sum(casosAcumulado))][, `:=`(estado = "BR", mortalidade = obitosAcumulado/populacaoTCU2019, letalidade = obitosAcumulado/casosAcumulado)])
# Grafico de mortalidade por estado
grafico_mortalidade = ggplot(dados_mortal_letal, aes(x = forcats::fct_reorder(estado, mortalidade), y = 100000 * mortalidade, fill = estado %in% c("BR", "DF"))) +
coord_flip() +
geom_col(show.legend = FALSE) +
geom_label(aes(fill = NULL, x = estado, y = 100000 * mortalidade + 25, label = scales::number(100000 * mortalidade, accuracy = 1)), show.legend = FALSE) +
labs(x = "", y = "Mortalidade (a cada 100 mil habitantes)") +
scale_fill_manual(values = c("#5277a4","#aaaaaa")) +
theme_light() +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(), text = element_text(size = 16))
# Grafico de letalidade por estado
grafico_letalidade = ggplot(dados_mortal_letal, aes(x = forcats::fct_reorder(estado, letalidade), y = letalidade, fill = estado %in% c("BR", "DF"))) +
coord_flip() +
geom_col(show.legend = FALSE) +
geom_label(aes(fill = NULL, x = estado, y = letalidade + 0.005, label = scales::percent(letalidade, accuracy = 0.01, decimal.mark = ",")), show.legend = FALSE) +
labs(x = "", y = "Mortalidade (a cada 100 mil habitantes)") +
scale_fill_manual(values = c("#e25658","#aaaaaa")) +
scale_y_continuous(labels = scales::percent_format(accuracy = .01, decimal.mark = ",")) +
theme_light() +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(), text = element_text(size = 16))
# Agrupa os gráficos
graficos_mortal_letal = gridExtra::arrangeGrob(grafico_mortalidade, grafico_letalidade, nrow = 1)
# Retorna Gráfico de interesse
return(graficos_mortal_letal)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.