setwd("C:/r_files/10. Processo Eleitoral/sao_paulo")
dir()
library(electionsBR)
library(tidyverse)
library(sf)
library(viridis)
library(forcats)

forcats::fct_inorder()
###
sp_zonas_sf <- st_read(dsn = "C:/r_files/10. Processo Eleitoral/sao_paulo",
                       layer = "zonaseleitorais2")

dt <- sp_zonas_sf["Name"]
names(dt)[1] <- "NUMERO_ZONA"

###
vote_sp <- vote_mun_zone_local(2016, uf = "sp", 
                               ascii = FALSE, 
                               encoding = "latin1", 
                               export = FALSE)

vote_sp_pref <- vote_sp %>%
  filter(CODIGO_MUNICIPIO ==  71072, DESCRICAO_CARGO == "Prefeito" ) %>% 
  select(ANO_ELEICAO,NUMERO_ZONA, SIGLA_UE,DESCRICAO_CARGO, NOME_UE:TOTAL_VOTOS)

vote_pref <- vote_sp_pref %>% 
  group_by(NOME_URNA_CANDIDATO) %>% 
  summarise(total_total_mun = sum(TOTAL_VOTOS))%>% 
  arrange(desc(total_total_mun)) %>% 
  mutate(perc = total_total_mun/sum(total_total_mun)*100)

vote_zona <- vote_sp_pref %>% 
  group_by(NUMERO_ZONA, NOME_URNA_CANDIDATO) %>% 
  summarise(total_total_mun = sum(TOTAL_VOTOS))%>% 
  mutate(perc = total_total_mun/sum(total_total_mun)*100) %>% 
  arrange(desc(perc)) 

vote_zona$NUMERO_ZONA <- as.factor(vote_zona$NUMERO_ZONA)
vote_zona_final <- full_join(dt, vote_zona)
theme_map_sp <- theme(panel.background = element_rect(fill = "transparent"), 
        panel.grid.major = element_line(color = "transparent"), 
        axis.text.x = element_blank(), 
        axis.text.y = element_blank(), 
        axis.ticks = element_blank(),
        #legend.position = c(0.7, 0.3), 
        #legend.justification = c(1, 1),
        legend.background = element_blank(),
        plot.title=element_text( hjust=0, vjust=-5, face='bold'))
vote_zona_final %>% 
  filter(NOME_URNA_CANDIDATO == "JOÃO DORIA") %>% 
  ggplot()+
  geom_sf(aes(fill = perc))+
  scale_fill_viridis_c(limits = c(0,90), breaks = seq(0,100, 10), option = "C")+
  theme_map_sp
vote_zona_final %>% 
  filter(NOME_URNA_CANDIDATO == "FERNANDO HADDAD") %>% 
  ggplot()+
  geom_sf(aes(fill = perc))+
  scale_fill_viridis_c(limits = c(0,90), breaks = seq(0,100, 10), option = "C")+
  theme_map_sp
  vote_zona_final %>% # organizar
  group_by(NOME_URNA_CANDIDATO) %>% 
  mutate(soma = sum(total_total_mun)) %>% 
  arrange(desc(soma)) %>% 
  ungroup() %>% 
  ggplot()+
  geom_sf(aes(fill = perc))+
  scale_fill_viridis_c(limits = c(0,90), breaks = seq(0,100, 10), option = "C")+
  theme_map_sp+
  facet_wrap(~ fct_inorder(NOME_URNA_CANDIDATO))