# Valores aproximados baseados em SI-PNI/DATASUS — consulte TabNet para dados exatos
cob_vacinal <- tibble::tribble(
~ano, ~triplice_viral, ~polio, ~pentavalente,
2010, 99.9, 100.0, 98.3,
2012, 99.5, 96.5, 93.8,
2014, 97.1, 96.8, 94.9,
2016, 95.4, 84.4, 89.3,
2017, 83.8, 84.7, 80.5,
2018, 92.6, 89.5, 87.5,
2019, 93.1, 84.2, 80.0,
2020, 81.6, 76.1, 76.2,
2021, 80.7, 77.2, 75.1,
2022, 83.0, 77.2, 80.8,
2023, 89.7, 84.6, 86.0
)
cob_long <- cob_vacinal |>
pivot_longer(-ano, names_to = "vacina", values_to = "cobertura") |>
mutate(vacina = case_match(vacina,
"triplice_viral" ~ "Tríplice Viral",
"polio" ~ "Poliomielite",
"pentavalente" ~ "Pentavalente"
))
ggplot(cob_long, aes(x = ano, y = cobertura, color = vacina)) +
geom_line(linewidth = 1) +
geom_point(size = 2) +
geom_hline(yintercept = 95, linetype = "dashed", color = "#333", linewidth = 0.5) +
annotate("text", x = 2022, y = 96.5, label = "Meta: 95%",
fontface = "italic", size = 3, color = "#333") +
scale_color_manual(values = c(
"Tríplice Viral" = "#2c7fb8",
"Poliomielite" = "#d95f02",
"Pentavalente" = "#1b9e77"
)) +
scale_y_continuous(limits = c(70, 105), breaks = seq(70, 100, 5)) +
labs(
title = "Queda da cobertura vacinal no Brasil (2010–2023)",
subtitle = "Nenhuma das três vacinas atingiu a meta de 95% nos últimos 5 anos",
x = "Ano", y = "Cobertura (%)", color = "Vacina",
caption = "Fonte: SI-PNI / DATASUS (valores aproximados — não usar como estatística oficial)"
) +
tema_indicadores()