R/mensal_saidas.R

Defines functions mensal_salva_grafico mensal_gera_grafico mensal_gera_tabela

mensal_gera_tabela <- function(dados) {
  dados %>%
    dplyr::group_by(nucleo) %>%
    dplyr::summarise(
      `Nº de Cartões` = sum(!is.na(data_avaliacao)),
      Falhas = sum(is.na(data_avaliacao)),
      `Aderência (%)` = round(`Nº de Cartões` / (Falhas + `Nº de Cartões`) * 100, 1)
    ) %>%
    dplyr::rename(Núcleo = nucleo)
}

mensal_gera_grafico <- function(resumo, tipo = "nucleo") {
  f <- switch(
    tipo,
    nucleo = "ponto",
    geral = "nucleo")

  p <- ggplot(
    resumo,
    aes_string("praga", f, fill = "classe"),
    environment = new.env()
  ) +
    geom_tile(color = "white", show.legend = T) +
    labs(x = NULL, y = NULL) +
    scale_fill_manual(
      NULL,
      values = c("#a6cee3", "#74c476", "#ffed6f", "#e41a1c"),
      labels = c(
        "Ausência",
        "Nível de \nequilíbrio",
        "Monitoramento \nconforme POP",
        "Monitoramento \nimediato com \npotencial controle"
      ),
      guide = guide_legend(keywidth = 3, keyheight = 1.7),
      drop = FALSE,
      na.translate = FALSE
    ) +
    scale_x_discrete(
      labels = c(
        "Quinze \npintas", "Psilídeo \nde concha",
        "Psilídeo \nde ponteiro", "Percevejo \nbronzeado",
        "Vespa \nda galha
        ")
      ) +
    ggthemes::theme_tufte(base_family = "sans", base_size = 14) +
    theme(legend.position = "top")

  if ("col_aux" %in% names(resumo)) {
    p <- p +
      facet_wrap(~col_aux, scales = "free_y") +
      theme(
        strip.text.x = element_blank(),
        axis.text=element_text(size=10)
      )
  }

  return(p)
}

mensal_salva_grafico <- function(grafico, .unf, .ano, .mes, .nucleo) {
  l <- 10
  h <- 6.5

  ggsave(
    paste(.unf, .ano, .mes, paste0(.nucleo, ".png"), sep = "_"),
    grafico,
    dpi = 300,
    height = h,
    width = l
  )
}
italocegatta/armade documentation built on April 2, 2018, 8:26 p.m.