Cómo crear un diagrama de Gantt en R usando ggplot2

Puedes opinar sobre este contenido:
  • 0
  • 0
  • 0
  • 0

Un diagrama de Gantt es un tipo de diagrama que muestra las horas de inicio y finalización de varios eventos.

Este tutorial explica cómo crear un diagrama de Gantt en R usando el paquete ggplot2 .

Crear un diagrama de Gantt en R usando ggplot2

Supongamos que tenemos el siguiente conjunto de datos que muestra las horas de inicio y finalización de los turnos de cuatro trabajadores diferentes en una tienda:

#create marco de datos
data <- data.frame (name = c ('Bob', 'Greg', 'Mike', 'Andy'), 
inicio = c (4, 7, 12, 16),
fin = c (12, 11, 8, 22),
shift_type = c ('temprano', 'mediodía', 'mediodía', 'tarde')
)
datos

# nombre inicio fin shift_type
# 1 Bob 4 12 temprano
# 2 Greg 7 11 mediodía
# 3 Mike 12 8 mediodía
# 4 Andy 16 22 tarde

Para crear un diagrama de Gantt usando ggplot2 que visualice las horas de inicio y finalización de cada trabajador, podemos usar el siguiente código:

#install (si aún no está instalado) y carga ggplot2
if (! require (ggplot2)) {install.packages ('ggplot2')}

#crear un diagrama de Gantt que visualice la hora de inicio y finalización de cada trabajador
ggplot (datos, aes (x = inicio, xend = final, y = nombre, final = nombre, color = shift_type)) +
  geom_segment ()

Esto produce el siguiente diagrama de Gantt:

Ejemplo de diagrama de Gantt en R usando ggplot2

Con un par de ajustes en el diseño, podemos hacer que este diagrama de Gantt se vea mucho mejor:

ggplot (data, aes (x = start, xend = end, y = name, yend = name, color = shift_type)) + 
  theme_bw () + #use ggplot theme con cuadrícula negra y fondo blanco
   geom_segment (tamaño = 8) + # aumentar el ancho de línea de los segmentos en los
   laboratorios de gráficos (título = 'Horario del trabajador', x = 'Hora', y = 'Nombre del trabajador')

Esto produce el siguiente gráfico:

Además, si desea definir los colores exactos que se utilizarán en el gráfico, puede utilizar el siguiente código:

ggplot (datos, aes (x = inicio, xend = final, y = nombre, final = nombre, color = shift_type)) +
  theme_bw () + #use ggplot theme con cuadrícula negra y fondo blanco 
  geom_segment (size = 8) + #increase el ancho de línea de los segmentos en el gráfico
  labs (title = 'Horario del trabajador', x = 'Hora', y = 'Nombre del trabajador') +
  scale_colour_manual (valores = c ('rosa', 'violeta', 'azul'))

Esto produce el siguiente cuadro con colores rosa, violeta y azul para representar los diferentes tipos de turnos:

Diagrama de Gantt en R con colores personalizados en ggplot2

Usar temas personalizados

Podemos llevar las cosas un paso más allá utilizando temas personalizados de la biblioteca ggthemes .

Por ejemplo, podemos crear un diagrama de Gantt que utilice un tema inspirado en The Wall Street Journal:

#cargar biblioteca de ggthemes
biblioteca (ggthemes)

#create un diagrama de dispersión con el tema del Wall Street Journal
 ggplot (datos, aes (x = inicio, xend = final, y = nombre, yend = nombre, color = shift_type)) +
  theme_bw () +
  geom_segment (tamaño = 8) +
  labs (title = 'Horario del trabajador', x = 'Hora', y = 'Nombre del trabajador') +
  scale_colour_manual (valores = c ('rosa', 'violeta', 'azul')) +
  theme_wsj () + 
  tema (axis.title = element_text ())

Diagrama de Gantt en R con tema de Wall Street Journal

O podríamos usar un tema inspirado en The Economist:

ggplot (datos, aes (x = inicio, xend = final, y = nombre, final = nombre, color = shift_type)) +
  theme_bw () +
  geom_segment (tamaño = 8) +
  labs (title = 'Horario del trabajador', x = 'Hora', y = 'Nombre del trabajador') +
  scale_colour_manual (valores = c ('rosa', 'violeta', 'azul')) +
  theme_economist () + 
  tema (axis.title = element_text ())

Diagrama de Gantt en R usando ggplot2

O quizás un tema inspirado en Five Thirty Eight :

ggplot (datos, aes (x = inicio, xend = final, y = nombre, final = nombre, color = shift_type)) +
  theme_bw () +
  geom_segment (tamaño = 8) +
  labs (title = 'Horario del trabajador', x = 'Hora', y = 'Nombre del trabajador') +
  scale_colour_manual (valores = c ('rosa', 'violeta', 'azul')) +
  theme_fivethirtyeight () + 
  tema (axis.title = element_text ())

Diagrama de Gantt en R usando el tema Five Thirty Eight

Para obtener una lista completa de los temas disponibles en la biblioteca ggthemes , consulte la página de documentación .

  • 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

La covarianza es una medida de cómo los cambios en una variable se asocian con los cambios en una segunda…
statologos comunidad-2

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

You have Successfully Subscribed!