Cómo asignar colores por factor en ggplot2 (con ejemplos)

Actualizado el 17 de julio de 2024, por Luis Benites.

A menudo, es posible que desee asignar colores a los puntos en un gráfico de ggplot2 en función de alguna variable categórica.

Afortunadamente, esto es fácil de hacer con la siguiente sintaxis:

ggplot (df, aes (x = x_variable, y = y_variable, color = color_variable)) +
  geom_point ()

Este tutorial proporciona varios ejemplos de cómo usar esta sintaxis en la práctica usando el conjunto de datos de R incorporado titulado iris :

#ver las primeras seis filas del conjunto de datos de iris
cabeza (iris)

  Sepal.Longitud Sepal.Ancho Pétalo.Longitud Pétalo.Ancho Especies
1 5,1 3,5 1,4 0,2 setosa
2 4,9 3,0 1,4 0,2 setosa
3 4,7 3,2 1,3 0,2 setosa
4 4,6 3,1 1,5 0,2 setosa
5 5,0 3,6 1,4 0,2 setosa
6 5,4 3,9 1,7 0,4 setosa

Ejemplo 1: usar colores predeterminados

El siguiente código muestra cómo asignar colores predeterminados a los puntos en un gráfico ggplot2 basado en la variable de factor Especies :

biblioteca (ggplot2)

ggplot (iris, aes (x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point () 

color por factor en ggplot2

Como no especificamos una escala de colores o una lista de colores personalizados, ggplot2 simplemente asignó una lista de colores rojo, verde y azul predeterminados a los puntos.

Ejemplo 2: usar colores personalizados

El siguiente código muestra cómo asignar colores personalizados a los puntos en un gráfico ggplot2 usando scale_color_manual () :

biblioteca (ggplot2)

ggplot (iris, aes (x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point () +
  scale_color_manual ( valores = c (" setosa " = " violeta ",
                                " versicolor =" naranja ",
                                " virginica " = " azul acero "))

ggplot2 con colores personalizados para variable categórica

Tenga en cuenta que también podríamos haber utilizado códigos de color hexadecimales para especificar los colores.

Ejemplo 3: utilice una escala de colores personalizada

El siguiente código muestra cómo asignar colores personalizados a los puntos en un gráfico ggplot2 mediante el uso de una escala de colores personalizada del paquete RColorBrewer :

biblioteca (ggplot2)
 biblioteca (RColorBrewer)

#definir escala de colores personalizada
 myColors <- brewer. pal (3, " espectral ")
nombres (myColors) <- niveles (iris $ Species)
colores_personalizados <- scale_colour_manual (name = " Nombres de especies ", valores = myColors)

ggplot (iris, aes (x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point () +
  colores personalizados

Ejemplo de RColorBrewer en R

Recursos adicionales

Cómo crear gráficos lado a lado en ggplot2
Cómo cambiar el título de la leyenda en ggplot2
Una guía completa de los mejores temas de ggplot2

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

Deja un comentario

El impulso es una técnica de aprendizaje automático que se ha demostrado que produce modelos con alta precisión predictiva. Una…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!