1. Gráfico de barras.

library(ggplot2)

data <- data.frame(
  Categoria = c("A", "B", "C", "D"),
  Valores = c(3, 12, 5, 8)
)

data$Porcentaje <- data$Valores / sum(data$Valores) * 100

colores <- c("A" = "#FFB6C1", "B" = "#ADD8E6", "C" = "#90EE90", "D" = "#FFDAB9")

grafico2 = ggplot(data, aes(x = "", y = Porcentaje, fill = Categoria)) +
  geom_bar(stat = "identity", width = 1, color = "black", size = 0.2) +
  coord_polar("y", start = 0) +
  geom_text(aes(label = paste0(round(Porcentaje, 1), "%")), position = position_stack(vjust = 0.5), size = 3.5) +
  labs(title = "Gráfico Circular", x = "", y = "") +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, size = 14, face = "bold", margin = margin(b = 40)),
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    axis.text = element_blank(),  # Elimina las etiquetas de los ejes
    axis.ticks = element_blank(), # Elimina las marcas de los ejes
    legend.position = "right",
    plot.background = element_rect(color = "black", size = 0.5)
  ) +
  scale_fill_manual(values = colores)
Explicación del código
# Cargar la librería ggplot2
library(ggplot2)

# Crear un marco de datos con categorías y valores
data <- data.frame(
  # data: nombre de la base de datos
  Categoria = c("A", "B", "C", "D"),  
  # Columnas de categorías
  Valores = c(3, 12, 5, 8)            
  # Columnas de valores
)

# Crear el gráfico de barras
grafico1 = ggplot(data, aes(x = Categoria, y = Valores, fill = Categoria)) + 
# data: nombre del data frame que contiene los datos a graficar
# aes: función que define la estética del gráfico
# x: variable del eje x (Categoría)
# y: variable del eje y (Valores)
# fill: variable que determina el color de las barras (Categoría)
  geom_bar(stat = "identity", color = "black", size = 0.2) +    
  # geom_bar: función que crea las barras en el gráfico
  # stat = "identity": usa los valores de los datos en lugar de contar ocurrencias
  # color: color del borde de las barras ("black" en este caso)
  # size: grosor del borde de las barras (0.2 en este caso)
  geom_text(aes(label = Valores), vjust = -0.5, size = 3.5) +     
  # geom_text: función que añade etiquetas de texto en el gráfico
  # aes: función que define la estética del gráfico
  # label: variable que contiene los valores a mostrar como etiquetas (Valores)
  # vjust: ajuste vertical de las etiquetas (-0.5 en este caso, para colocarlas justo por encima de las barras)
  # size: tamaño del texto de las etiquetas (3.5 en este caso)
  labs(title = "Gráfico de Barras", x = "Categoría", y = "Valores") + 
  # labs: función que añade etiquetas y títulos al gráfico
  # title: título del gráfico ("Gráfico de Barras" en este caso)
  # x: etiqueta del eje x ("Categoría" en este caso)
  # y: etiqueta del eje y ("Valores" en este caso)
  theme_minimal() + 
  # theme_minimal: aplica un tema minimalista al gráfico
  theme(
    plot.title = element_text(hjust = 0.5, size = 14, face = "bold", margin = margin(b = 40)), 
    # plot.title: personaliza el estilo del título del gráfico
    # hjust: alineación horizontal del título (0.5 para centrarlo)
    # size: tamaño del texto del título (14 en este caso)
    # face: estilo de la fuente del título ("bold" para negrita)
    # margin: margen alrededor del título (40 unidades en la parte inferior)
    panel.grid.major = element_blank(),  
    # Elimina las líneas de la cuadrícula mayor
    panel.grid.minor = element_blank(),  
    # Elimina las líneas de la cuadrícula menor
    legend.position = "none",             
    # Elimina la leyenda
    plot.background = element_rect(color = "black", size = 0.5)  
    # Añade un borde negro delgado alrededor del gráfico
  ) +
  scale_y_continuous(expand = expansion(mult = c(0, 0.1))) +  
  # scale_y_continuous: ajusta la escala del eje y
  scale_fill_manual(values = rep("#99CCFF", 4))                
  # scale_fill_manual: asigna manualmente los colores a las barras

2. Gráfico circular.

library(ggplot2)

data <- data.frame(
  Categoria = c("A", "B", "C", "D"),
  Valores = c(3, 12, 5, 8)
)
data$Porcentaje <- data$Valores / sum(data$Valores) * 100

grafico2 = ggplot(data, aes(x = "", y = Porcentaje, fill = Categoria)) +
  geom_bar(stat = "identity", width = 1, color = "black", size = 0.2) +
  coord_polar("y", start = 0) +
  geom_text(aes(label = paste0(round(Porcentaje, 1), "%")), position = position_stack(vjust = 0.5), size = 3.5) +
  labs(title = "Gráfico Circular", x = "", y = "") +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, size = 14, face = "bold", margin = margin(b = 40)),
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    axis.text = element_blank(),  
    axis.ticks = element_blank(), 
    legend.position = "right",
    plot.background = element_rect(color = "black", size = 0.5)
  ) +
  scale_fill_manual(values = rep("#99CCFF", 4))
Explicación del código
# Cargar la librería ggplot2
library(ggplot2)

# Crear un marco de datos con categorías y valores
data <- data.frame(
  # data: nombre de la base de datos
  Categoria = c("A", "B", "C", "D"),  
  # Columnas de categorías
  Valores = c(3, 12, 5, 8)            
  # Columnas de valores
)

# Calcular los porcentajes
data$Porcentaje <- data$Valores / sum(data$Valores) * 100
# Porcentaje: columna que contiene los valores en porcentaje

# Definir los colores pastel para cada categoría
colores <- c("A" = "#FFB6C1", "B" = "#ADD8E6", "C" = "#90EE90", "D" = "#FFDAB9")
# colores: vector de colores asignados a cada categoría

# Crear el gráfico circular
grafico2 = ggplot(data, aes(x = "", y = Porcentaje, fill = Categoria)) +
# data: nombre del data frame que contiene los datos a graficar
# aes: función que define la estética del gráfico
# x: variable del eje x (en este caso una cadena vacía para el gráfico circular)
# y: variable del eje y (Porcentaje)
# fill: variable que determina el color de las secciones (Categoría)
  geom_bar(stat = "identity", width = 1, color = "black", size = 0.2) +
  # geom_bar: función que crea las secciones del gráfico circular
  # stat = "identity": usa los valores de los datos en lugar de contar ocurrencias
  # width: ancho de las barras (1 en este caso para gráfico circular completo)
  # color: color del borde de las secciones ("black" en este caso)
  # size: grosor del borde de las secciones (0.2 en este caso)
  coord_polar("y", start = 0) +
  # coord_polar: convierte las barras en un gráfico circular
  # "y": especifica la transformación en el eje y
  # start: ángulo de inicio del gráfico (0 en este caso)
  geom_text(aes(label = paste0(round(Porcentaje, 1), "%")), position = position_stack(vjust = 0.5), size = 3.5) +
  # geom_text: función que añade etiquetas de texto en el gráfico
  # aes: función que define la estética del gráfico
  # label: variable que contiene los porcentajes a mostrar como etiquetas (Porcentaje)
  # position: posición de las etiquetas dentro de las secciones
  # vjust: ajuste vertical de las etiquetas (0.5 en este caso para centrarlas)
  # size: tamaño del texto de las etiquetas (3.5 en este caso)
  labs(title = "Gráfico Circular", x = "", y = "") +
  # labs: función que añade etiquetas y títulos al gráfico
  # title: título del gráfico ("Gráfico Circular" en este caso)
  # x: etiqueta del eje x (cadena vacía en este caso)
  # y: etiqueta del eje y (cadena vacía en este caso)
  theme_minimal() +
  # theme_minimal: aplica un tema minimalista al gráfico
  theme(
    plot.title = element_text(hjust = 0.5, size = 14, face = "bold", margin = margin(b = 40)), 
    # plot.title: personaliza el estilo del título del gráfico
    # hjust: alineación horizontal del título (0.5 para centrarlo)
    # size: tamaño del texto del título (14 en este caso)
    # face: estilo de la fuente del título ("bold" para negrita)
    # margin: margen alrededor del título (40 unidades en la parte inferior)
    panel.grid.major = element_blank(),  
    # Elimina las líneas de la cuadrícula mayor
    panel.grid.minor = element_blank(),  
    # Elimina las líneas de la cuadrícula menor
    axis.text = element_blank(),  
    # Elimina las etiquetas de los ejes
    axis.ticks = element_blank(), 
    # Elimina las marcas de los ejes
    legend.position = "right",             
    # Coloca la leyenda a la derecha
    plot.background = element_rect(color = "black", size = 0.5)  
    # Añade un borde negro delgado alrededor del gráfico
  ) +
  scale_fill_manual(values = colores)
  # scale_fill_manual: asigna manualmente los colores a las secciones
print(grafico2)

3. Gráfico de línea.

library(ggplot2)

data <- data.frame(
  Tiempo = c(1, 2, 3, 4, 5),
  SerieA = c(3, 5, 2, 8, 7),
  SerieB = c(4, 7, 6, 3, 6)
)

# Definir los colores pastel para cada serie
colores <- c("SerieA" = "#FFB6C1", "SerieB" = "#ADD8E6")

grafico3 = ggplot(data, aes(x = Tiempo)) +
  geom_line(aes(y = SerieA, color = "SerieA"), size = 1) +
  geom_line(aes(y = SerieB, color = "SerieB"), size = 1) +
  geom_point(aes(y = SerieA, color = "SerieA"), size = 3) +
  geom_point(aes(y = SerieB, color = "SerieB"), size = 3) +
  labs(title = "Gráfico de Líneas", x = "Tiempo", y = "Valor", color = "Categoria") +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, size = 14, face = "bold", margin = margin(b = 40)),
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    axis.text = element_text(size = 12),
    axis.title = element_text(size = 12),
    legend.position = "right",
    plot.background = element_rect(color = "black", size = 0.5)
  ) +
  scale_color_manual(values = colores)
Explicación del código
# Cargar la librería ggplot2
library(ggplot2)

# Crear un marco de datos con series temporales
data <- data.frame(
  # data: nombre de la base de datos
  Tiempo = c(1, 2, 3, 4, 5),  
  # Columnas de tiempo
  SerieA = c(3, 5, 2, 8, 7),  
  # Valores de la serie A
  SerieB = c(4, 7, 6, 3, 6)   
  # Valores de la serie B
)

# Definir los colores pastel para cada serie
colores <- c("SerieA" = "#FFB6C1", "SerieB" = "#ADD8E6")
# colores: vector de colores asignados a cada serie

# Crear el gráfico de líneas
grafico3 = ggplot(data, aes(x = Tiempo)) +
# data: nombre del data frame que contiene los datos a graficar
# aes: función que define la estética del gráfico
# x: variable del eje x (Tiempo)
  geom_line(aes(y = SerieA, color = "SerieA"), size = 1) +
  # geom_line: función que crea las líneas en el gráfico
  # y: variable del eje y (SerieA)
  # color: color de la línea (SerieA)
  # size: grosor de la línea (1 en este caso)
  geom_line(aes(y = SerieB, color = "SerieB"), size = 1) +
  # geom_line: función que crea las líneas en el gráfico
  # y: variable del eje y (SerieB)
  # color: color de la línea (SerieB)
  # size: grosor de la línea (1 en este caso)
  geom_point(aes(y = SerieA, color = "SerieA"), size = 3) +
  # geom_point: añade puntos a la línea SerieA
  # y: variable del eje y (SerieA)
  # color: color de los puntos (SerieA)
  # size: tamaño de los puntos (3 en este caso)
  geom_point(aes(y = SerieB, color = "SerieB"), size = 3) +
  # geom_point: añade puntos a la línea SerieB
  # y: variable del eje y (SerieB)
  # color: color de los puntos (SerieB)
  # size: tamaño de los puntos (3 en este caso)
  labs(title = "Gráfico de Líneas", x = "Tiempo", y = "Valor", color = "Categoria") +
  # labs: función que añade etiquetas y títulos al gráfico
  # title: título del gráfico ("Gráfico de Líneas" en este caso)
  # x: etiqueta del eje x ("Tiempo" en este caso)
  # y: etiqueta del eje y ("Valor" en este caso)
  # color: etiqueta de la leyenda ("Categoria" en este caso)
  theme_minimal() +
  # theme_minimal: aplica un tema minimalista al gráfico
  theme(
    plot.title = element_text(hjust = 0.5, size = 14, face = "bold", margin = margin(b = 40)), 
    # plot.title: personaliza el estilo del título del gráfico
    # hjust: alineación horizontal del título (0.5 para centrarlo)
    # size: tamaño del texto del título (14 en este caso)
    # face: estilo de la fuente del título ("bold" para negrita)
    # margin: margen alrededor del título (40 unidades en la parte inferior)
    panel.grid.major = element_blank(),  
    # Elimina las líneas de la cuadrícula mayor
    panel.grid.minor = element_blank(),  
    # Elimina las líneas de la cuadrícula menor
    axis.text = element_text(size = 12),  
    # Ajusta el tamaño del texto de los ejes (12 en este caso)
    axis.title = element_text(size = 12), 
    # Ajusta el tamaño del título de los ejes (12 en este caso)
    legend.position = "right",             
    # Coloca la leyenda a la derecha
    plot.background = element_rect(color = "black", size = 0.5)  
    # Añade un borde negro delgado alrededor del gráfico
  ) +
  scale_color_manual(values = colores)
  # scale_color_manual: asigna manualmente los colores 
print(grafico3)

4. Gráfico de caja.

library(ggplot2)

data <- data.frame(
  Categoria = c(rep("A", 10), rep("B", 10), rep("C", 10), rep("D", 10)),
  Valores = c(rnorm(10, mean = 5, sd = 1), rnorm(10, mean = 6, sd = 1), 
              rnorm(10, mean = 7, sd = 1), rnorm(10, mean = 8, sd = 1))
)

# Definir los colores pastel para cada categoría
colores <- c("A" = "#FFB6C1", "B" = "#ADD8E6", "C" = "#90EE90", "D" = "#FFDAB9")

grafico4 = ggplot(data, aes(x = Categoria, y = Valores, fill = Categoria)) +
  geom_boxplot(color = "black", size = 0.2) +
  labs(title = "Gráfico de Caja", x = "Categoría", y = "Valores") +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, size = 14, face = "bold", margin = margin(b = 40)),
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    axis.text = element_text(size = 12),
    axis.title = element_text(size = 12),
    legend.position = "none",
    plot.background = element_rect(color = "black", size = 0.5)
  ) +
  scale_fill_manual(values = colores)
Explicación del código
# Cargar la librería ggplot2
library(ggplot2)

# Crear un marco de datos con categorías y valores
data <- data.frame(
  # data: nombre de la base de datos
  Categoria = c(rep("A", 10), rep("B", 10), rep("C", 10), rep("D", 10)),  
  # Columnas de categorías
  Valores = c(rnorm(10, mean = 5, sd = 1), rnorm(10, mean = 6, sd = 1), 
              rnorm(10, mean = 7, sd = 1), rnorm(10, mean = 8, sd = 1))  
  # Columnas de valores generados aleatoriamente
)

# Definir los colores pastel para cada categoría
colores <- c("A" = "#FFB6C1", "B" = "#ADD8E6", "C" = "#90EE90", "D" = "#FFDAB9")
# colores: vector de colores asignados a cada categoría

# Crear el gráfico de caja
grafico4 = ggplot(data, aes(x = Categoria, y = Valores, fill = Categoria)) +
# data: nombre del data frame que contiene los datos a graficar
# aes: función que define la estética del gráfico
# x: variable del eje x (Categoría)
# y: variable del eje y (Valores)
# fill: variable que determina el color de las cajas (Categoría)
  geom_boxplot(color = "black", size = 0.2) +
  # geom_boxplot: función que crea el gráfico de caja
  # color: color del borde de las cajas ("black" en este caso)
  # size: grosor del borde de las cajas (0.2 en este caso)
  labs(title = "Gráfico de Caja", x = "Categoría", y = "Valores") +
  # labs: función que añade etiquetas y títulos al gráfico
  # title: título del gráfico ("Gráfico de Caja" en este caso)
  # x: etiqueta del eje x ("Categoría" en este caso)
  # y: etiqueta del eje y ("Valores" en este caso)
  theme_minimal() +
  # theme_minimal: aplica un tema minimalista al gráfico
  theme(
    plot.title = element_text(hjust = 0.5, size = 14, face = "bold", margin = margin(b = 40)), 
    # plot.title: personaliza el estilo del título del gráfico
    # hjust: alineación horizontal del título (0.5 para centrarlo)
    # size: tamaño del texto del título (14 en este caso)
    # face: estilo de la fuente del título ("bold" para negrita)
    # margin: margen alrededor del título (40 unidades en la parte inferior)
    panel.grid.major = element_blank(),  
    # Elimina las líneas de la cuadrícula mayor
    panel.grid.minor = element_blank(),  
    # Elimina las líneas de la cuadrícula menor
    axis.text = element_text(size = 12),  
    # Ajusta el tamaño del texto de los ejes (12 en este caso)
    axis.title = element_text(size = 12), 
    # Ajusta el tamaño del título de los ejes (12 en este caso)
    legend.position = "none",             
    # Elimina la leyenda
    plot.background = element_rect(color = "black", size = 0.5)  
    # Añade un borde negro delgado alrededor del gráfico
  ) +
  scale_fill_manual(values = colores)
  # scale_fill_manual: asigna manualmente los colores a las cajas
print(grafico4)