Este es el código que ha sido mi favorito porque tuve que buscar aprender muchas cosas por mi cuenta. En clase vimos gráficas más sencillas, entonces no sabía por ejemplo que existían gráficas “stack” y “dodge”.

NOTA: no he logrado hacer que las gráficas no se corten cuando pasan al archivo HTML. Sigo trabajando en ello, entonces además de dejar que se corran en el código, las inserte desde archivo de mi computadora.

#Paquetes

library(pacman)
p_load(tidyverse, dplyr, readxl, ggplot2, ggrepel, directlabels, extrafont, scales, ggplot2,showtext,showtextdb)

#Esto es para añadir el tipo de letra Cambria 
font_add(family = "Cambria", regular = "Cambria Bold 700.ttf")
font_add(family = "CambriaI", regular = "CAMBRIAI.TTF")
showtext_auto()

#Datos 

datos <- read_excel("graficas2.xlsx")
datos2 <- read_excel("graficas.xlsx")
datos3 <- read_excel("Book1.xlsx")


#GRÁFICA 3 -- CONOCIMIENTO DE SIGLAS

 datos2 %>% 
  select(cate2, Tipo2, Puntos2, puntos222) %>% 
  na.omit() %>%
  mutate(cate2 = factor(cate2, levels = c("Incorrecto", "No sabe/No contestó", "Correcto")),
         Tipo2 = factor(Tipo2, levels = c("T-MEC", "OEA", "SRE", "FIFA", "CNDH", "ONU"))) %>% 
  ggplot(aes(fill= cate2, 
             x = Tipo2, 
             y = Puntos2)) +
  geom_bar(position = "stack",
           stat = "identity",
           width = .8) +
  labs(x = " ", 
       y = "", 
       title ="GRÁFICA 3. CONOCIMIENTO DE SIGLAS, 2021.", 
       subtitle = "Por favor, dígame el significado de las siguientes siglas:") +
  theme(legend.position = c(.5,.9),
        legend.direction = "horizontal",
        panel.background = element_rect(fill = "white"), 
        legend.title = element_blank(), 
        axis.ticks = element_blank(),
        text = element_text(family = "Cambria", size = 23), 
        plot.title = element_text(color = "darkgreen", vjust = -1), 
        plot.subtitle = element_text(face = "italic", family = "CambriaI", vjust = -2))+
  scale_x_discrete(expand = expansion(add = c(3,3)))+
  scale_fill_manual(values = c("forestgreen", "yellow4", "darkred"), 
                    limits = c("Correcto", "No sabe/No contestó", "Incorrecto"))+
  geom_text(aes(label = paste0(puntos222*100, "%")),
            position = position_stack(vjust = .3),
            color ="white", 
            family = "Cambria") +
  coord_flip()

extranjeros

 #GRAFICA 6 - INVERSION EN RECURSOS
 datos %>% 
  dplyr::select(inversion, rubro, num, numnum) %>% 
  na.omit() %>% 
  mutate(inversion = factor(inversion, levels = c("Ofrecer becas a estudiantes de otros países para que vengan a estudiar a México","Dar refugio a extranjeros que estén en peligro en su país","Abrir nuevas embajadas y consulados en otros países","Aumentar la participación de México en organismos internacionales como la ONU", "Apoyar a las empresas mexicanas para que inviertan en otros países" ,"Promover la imagen de México en el extranjero"))) %>% 
  ggplot(aes(factor(inversion), 
             num, 
             fill =rubro)) +
  geom_bar(width = .8, 
           position="stack", stat="identity") +
  labs(title = "GRÁFICA 16. INVERSIÓN EN RECURSOS DE POLÍTICA EXTERIOR, 2021.", 
       subtitle = "¿Qué tan importante es para México invertir más recursos en...?")+
  theme(legend.position = c(.5,.82),
        legend.direction = "horizontal",
        panel.background = element_rect(fill = "white"), 
        legend.title = element_blank(),
        text = element_text(size = 22, family = "Cambria"), 
        plot.title.position = "plot", 
        plot.title = element_text(color = "darkgreen", vjust = -7), 
        plot.subtitle = element_text(face = "italic", family = "CambriaI", vjust = -8)) +
  scale_x_discrete(expand = expansion(add = c(3,3)))+
  scale_fill_manual(values = c("#1b9e77","#d95f02"), 
                    limits = c("Muy importante", "Algo importante")) +
  labs(x =" ", 
       y =" ")+
  geom_text(aes(label =scales::percent(numnum, accuracy = 1)),
            position = position_stack(), 
            color = "white", 
            hjust = 3, 
            family = "Cambria")+
  coord_flip()

extranjeros

 #GRAFICA 6 
 datos3 %>% 
  select(pregunta5_5, Año5_5, puntaje5_5, Rubro5_5, porcentaje5_5) %>% 
  filter(Rubro5_5 == "De acuerdo") %>% 
  ggplot(aes(x = Año5_5, 
             y= puntaje5_5, 
             col = pregunta5_5)) +
  geom_line(size = 2)+
  geom_point(size = 3) +
  theme_bw() +
  geom_label_repel(aes(y=puntaje5_5, label= percent(accuracy = .1, porcentaje5_5),colour = pregunta5_5, fill=NULL), 
                   size=5,show.legend = FALSE, direction = "y") +
  scale_fill_manual(values = c("deepskyblue3","steelblue", "cadetblue", "chocolate", "plum3", "tan")) +
  scale_color_manual(values = c("deepskyblue3","steelblue","cadetblue", "chocolate", "plum3", "tan"))+
  theme(legend.title = element_blank(),
        legend.position = "top", 
        legend.text = element_text(size = 12, face = "bold"),
        axis.text.y = element_blank(),
        axis.ticks = element_blank(),
        axis.title.y = element_blank(),
        text = element_text(family = "Cambria", size = 23),
        plot.title = element_text(color = "darkgreen", vjust = -.1),
        plot.subtitle = element_text(face = "italic", family = "CambriaI")) + 
  labs(title = "GRÁFICA 6. ACTITUDES HACIA PERSONAS EXTRANJERAS EN MÉXICO, 2010-2021.", 
       subtitle = "En general, ¿qué tan de acuerdo está usted con las siguientes afirmaciones sobre los extranjeros \n que viven en México? (Opciones de respuesta: Muy de acuerdo y Algo de acuerdo)", 
       x = "") +
  scale_x_continuous(limits = c(2010, 2021), breaks = c(2010,2012,2014,2016, 2018, 2021)) +
  scale_y_continuous(limits = c(0,80))

extranjeros

 #GRAFICA 17 

 labels <- c("Política Exterior", "Educación", "Gestión de la\npandemia Covid-19", "Economía", "Sector Energético", "Seguridad")

datos2 %>% 
  select(Año3, Puntaje3, Cate3) %>% 
  filter(!Año3 ==2014) %>% 
  mutate(Año3 = factor(Año3, levels =c("2021", "2018", "2016")), 
         Cate3 = factor(Cate3, levels = c("Política Exterior", "Educación", "Gestión de la pandemia Covid-19", "Economía", "Sector Energético", "Seguridad"))) %>% 
  ggplot(aes(x=Cate3, 
             y=Puntaje3, 
             fill= Año3))+
  geom_bar(position = "dodge", stat = "identity")+
  scale_x_discrete(labels=labels) +
  scale_fill_manual(values=c("darkgreen","chartreuse4",#3 
                      "springgreen4"), 
                    limits=c("2021", "2018", "2016")) +
  labs(title = "GRÁFICA 17. EVALUACIÓN DE POLÍTICAS PÚBLICAS.", 
       subtitle = "En esta escala de 0 a 10, donde 0 es muy malo, 5 es ni malo ni bueno y 10 es muy bueno, \n ¿cómo califica el desempeño del gobierno mexicano en...?")+
  theme(legend.direction = "horizontal",
        panel.background = element_rect(fill = "white"), 
        legend.title = element_blank(), 
        legend.position = "top", 
        text = element_text(size = 23, family = "Cambria"), 
        plot.subtitle = element_text(face = "italic", family = "CambriaI", vjust = -.0001), 
        plot.title = element_text(colour = "darkgreen", vjust = -.00001)) +
  geom_text(aes(label= Puntaje3),
            color ="white", 
            position = position_dodge(width = 1), 
            vjust=1.7, 
            family = "Cambria")+
  labs(x ="", 
       y= "") 

extranjeros

#objetivos de la politica exterior 
datos %>% 
  dplyr::select(objetivo, cate, num2) %>% 
  na.omit() %>% 
  mutate(num2_2=num2*100) %>% 
  ggplot(aes(x=fct_reorder(objetivo, num2), 
             num2, 
             fill=cate)) +
  geom_col()+
  labs(title = "GRÁFICA 14. OBJETIVOS DE LA POLÍTICA EXTERIOR, 2021.", 
       subtitle = "Y dígame ahora, ¿qué tan importante debe ser cada uno de los siguientes objetivos \n para la política exterior de México...? Opción de respuesta: Muy importante")+
  theme(legend.position = "",
        legend.direction = "horizontal",
        panel.background = element_rect(fill = "white"), 
        legend.title = element_blank(), 
        panel.border = element_rect(color = "black", fill = NA), 
        text = element_text(size = 23, family = "Cambria"), 
        plot.title = element_text(color = "darkgreen"), 
        plot.title.position = "plot", 
        plot.subtitle = element_text(face = "italic", family = "CambriaI"))+
  scale_fill_manual(values = "#1b9e77")+
  labs(y="",
       x = "")+
  scale_y_continuous(labels = scales::percent)+
  geom_text(aes(label= (num2_2)),
            color ="white", 
            hjust=1.5, 
            family = "Cambria")+
  coord_flip()

extranjeros

#Grafica 3 
datos3 %>% 
  select(Pregunta5_2, Rubo5_2, Puntaje5_2, porcentaje5_2) %>% 
  na.omit() %>% 
  ggplot(aes(x = Pregunta5_2,
             y = Puntaje5_2, 
             col = Rubo5_2, 
             group = Rubo5_2)) + 
  geom_line(size = 2)+
  geom_point(size = 3)+
  geom_label_repel(aes(y=Puntaje5_2, label= percent(porcentaje5_2, accuracy = .1),colour = Rubo5_2, fill=NULL), #la solución para que te aparezcan con un decimal es poner accuracy = .1!!!!!!11 me tardé un montón encontrando esa respuesta. Ojo solo corre cuando creas una nueva variable con las cifras y que vayan acompañadas con el símbolo de porcentaje. Lo intenté sin el simbolo y no jaló 
                   size=4,show.legend = FALSE, direction = "y") +
  labs( title = "GRÁFICA 3. OPINIÓN GENERAL SOBRE LAS PERSONAS EXTRANJERAS EN MÉXICO, \n 2010-2021.",
        subtitle = "¿Cuál es su opinión sobre los extranjeros en México?",
        x = "Año", 
        y = "")+
  scale_color_manual(values = c( "green4", "red4", "cadetblue")) +
  theme_bw() +
  theme(legend.title = element_blank(),
        legend.position = "top", 
        legend.text = element_text(size = 14, face = "bold"),
        axis.text.x = element_text(size = 12, face = "bold"),
        axis.text.y = element_blank(),
        axis.title.x = element_blank(),
        axis.title.y = element_blank(),
        axis.ticks.y=element_blank(),
        text = element_text(family = "Cambria", size = 23),
        plot.title = element_text(color = "darkgreen", vjust = -1),
        plot.subtitle = element_text(face = "italic", family = "CambriaI", vjust = -1.2))+
  scale_x_continuous(limits = c(2010, 2021), breaks = c(2010,2012,2014,2016,2018,2021))

extranjeros