Temas de colores personalizados para tus gráficos {ggplot2}

22/1/2026

visualización de datos ggplot2 gráficos

Darle un toque de color a tus gráficos produce visualizaciones con más personalidad y mayor impacto. Pero cambiar el color de cada elemento puede parecer engorroso 😣

¡Pero es fácil! Veamos cómo se puede hacer con las nuevas funcionalidades de {ggplot2} versión 4.0.

Primero generemos datos al azar para crear una visualización de demostración:

library(dplyr)

# crear datos al azar
datos <- tibble(a = 1:10,
                b = rnorm(10, mean = 7, sd = 2)
                )

Ahora creemos un gráfico básico:

library(ggplot2)

grafico <- datos |> 
  ggplot() +
  aes(x = as.factor(a), y = b) +
  # capa de columnas
  geom_col(width = 0.5) +
  # capa de texto
  geom_text(aes(label = round(b, 0), y = b + 0.6), 
            size = 3, fontface = "bold")

grafico

Agreguemos algunas capas extra para mejorar la apariencia de nuestro gráfico:

grafico <- grafico +
  # etiquetas de texto
  labs(title = "Gráfico de barras",
       subtitle = "Números al azar",
       x = "Eje horizontal", y = "Eje vertical",
       caption = "Fuente: de los deseos") +
  # ajuste del espaciado vertical
  scale_y_continuous(expand = expansion(c(0, 0.05))) +
  # detalles del tema
  theme(plot.title = element_text(face = "bold"),
        panel.grid.minor.y = element_line(linetype = 2, linewidth = .5),
        axis.ticks.x = element_blank())

grafico

Cambiar colores de los temas de {ggplot2}

Ahora, para cambiar los colores del gráfico, podemos usar una función para aplicar un tema, como theme_classic() o theme_minimal(), dentro de la cual podremos definir los colores principales del gráfico:

  • El color de fondo o papel (paper)
  • El color de los elementos o tinta (ink)
  • El color de acento (accent)

Probemos con theme_classic():

grafico +
  theme_classic(paper = "#EAD2FA", 
                ink = "#553A74", 
                accent = "#9069C0")

Tan solo con definir tres colores, obtenemos un gráfico con una apariencia mucho mejor! 💜

Intentemos ahora con theme_minimal():

grafico +
  theme_minimal(paper = "#EAD2FA", 
                ink = "#553A74", 
                accent = "#9069C0")

Aplicar temas con {thematic}

Otra forma de aplicar temas de colores a tus gráficos es con el paquete {thematic}.

La idea de {thematic} es que tenemos que activar la función que aplica los temas con thematic_on(), y en el momento que la activamos, definimos los colores principales de nuestro tema. Estos colores son de fondo (bg) y de frente (fg), que como su nombre lo indica, definen el color base del gráfico y el color de los elementos principales.

library(thematic)

thematic_on(fg = "#553A74",
            bg = "#EAD2FA")

grafico

Solamente con definir dos colores con thematic_on() e imprimir el gráfico obtenemos el gráfico con el tema aplicado. Muy lindo 💜

La diferencia entre cambiar los temas con las funciones de {ggplot2} y con {thematic} es que {thematic} toma algunas decisiones extra para hacer más bonitos tus gráficos, como un color de fondo más tenue, entre otras.

Por otro lado, {thematic} tiene la ventaja de que puede trabajar en conjunto con tus aplicaciones Shiny, de manera que el tema de tu app se aplique a tus gráficos automáticamente.

Eligiendo temas de colores

Para encontrar pares de colores interesantes, recomiendo el sitio Pigment, que genera pares de colores a los que puedes ajustar su saturación y su nivel de iluminación.

Veamos algunos ejemplos de como queda el mismo gráfico con otros pares de colores:

thematic_on(fg = "#51BBAC",
            bg = "#2B5556")

grafico
thematic_on(fg = "#7FBCC4",
            bg = "#473649")

grafico
thematic_on(fg = "#6E6962",
            bg = "#C5BEB5")

grafico

Para desactivar la aplicación del tema de colores, usa thematic_off() y volverás a la aburrida normalidad.

thematic_off()

grafico

¡Así de simple! Claramente es una forma básica y rápida de personalizar la apariencia de las visualizaciones, pero el resultado suele ser positivo considerando el poquísimo esfuerzo necesario para lograrlo. Eficiencia, yey! 🥰

Fecha de publicación:
January 22, 2026
Extensión:
3 minute read, 590 words
Tags:
visualización de datos ggplot2 gráficos
Ver también:
Extensiones recomendadas para mejorar tus gráficos de `{ggplot2}`
App: Suicidios en Chile (2017-2024) desde una perspectiva de género
Gráficos de puente en `{ggplot2}`