Contenido de este artículo
- 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:
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:
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 ())
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 ())
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 ())
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/
¿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: