Ver código
library(tidyverse)
library(plotly)
# Parametros ####
shape_cafe_2022 <- c(
"Encuestas" = 6,
"@PoliticaConDato" = 15,
"@ColombiaRisk" = 17,
"Simple 2022" = 15,
"Mixto 2022" = 16,
"Ajiaco" = 5,
"@JorgeGalindo El Pais" = 16,
"La Silla Vacia" = 6,
"@calc_electoral" = 1,
"Resultado" = NULL
)
colors_cafe_2022 <- c(
"Encuestas" = "purple3",
"@PoliticaConDato" = "blue",
"@ColombiaRisk" = "gold2",
"Simple 2022" = "orangered",
"Mixto 2022" = "orangered",
"Ajiaco" = "orangered",
"@JorgeGalindo El Pais" = "green4",
"La Silla Vacia" = "darkturquoise",
"@calc_electoral" = "royalblue2",
"Resultado" = "#ff4800"
)
# Cafe plot ####
cafe_2022_plot <- readr::read_csv("sancocho_resultados.csv") %>%
dplyr::filter(!is.na(nombres), nombres!="Voto en blanco") %>%
dplyr::mutate(nombres = factor(nombres, levels=c("Gustavo Petro","Rodolfo Hernandez","Federico Gutierrez","Sergio Fajardo"))) %>%
ggplot(aes(x=nombres %>% reorder(desc(nombres)),y=pronostico))+
geom_point(data=. %>% dplyr::filter(plato!="Resultado"),
aes(shape=plato,
text = paste("Estimado por: ", plato,
"\nValor estimado: ",paste(round(pronostico, digits = 2)," %")),
color=plato),
size=4,
position = position_dodge(0.5),
show.legend = FALSE)+
geom_errorbar(data=. %>% dplyr::filter(plato!="Resultado"),
aes(ymax=high,ymin=low,
color=plato),
position = position_dodge(0.5),width=0.3, show.legend = FALSE)+
# Resultados
geom_col(data=. %>% dplyr::filter(plato=="Resultado"),
aes(text = paste0("Resultado ",nombres,": ", paste(round(pronostico, digits = 2)," %"))),
alpha=0.4, fill="#ff4800", show.legend = FALSE)+
theme(legend.position = "none",
legend.title = element_blank(),
legend.key=element_blank(),
legend.text=element_text(size=11),
strip.text.x = element_text(size = 8),
axis.text=element_text(size=11),
axis.ticks.x=element_blank(),
axis.text.x=element_blank(),
panel.background=element_rect(fill="white",color="white"))+
labs(x=NULL,y="\n% Votos validos vs % Votos estimados",
title="Cafe post electoral 2022 - Primera vuelta",
subtitle="Pronósticos (puntos) vs Resultados (barra)",
caption="\nFuente: www.recetas-electorales.com")+
scale_shape_manual(values=shape_cafe_2022)+
scale_color_manual(values=colors_cafe_2022)+
coord_flip()
# ggplotly ####
ggplotly(cafe_2022_plot, tooltip = "text") %>%
layout(title = list(text = paste0('Cafe post electoral 2022 - Primara vuelta',
'<br>',
'<sup>',
'Pronosticos (puntos) vs Resultados (barra)','</sup>')))Café post electoral 2022 - Primera vuelta