Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment créer un diagramme de Gantt dans R à l’aide de ggplot2



Un diagramme de Gantt est un type de diagramme qui montre les heures de début et de fin de divers événements.

Ce tutoriel explique comment créer un diagramme de Gantt dans R à l’aide du package ggplot2 .

Création d’un diagramme de Gantt dans R à l’aide de ggplot2

Supposons que nous disposions de l’ensemble de données suivant qui montre les heures de début et de fin des quarts de travail de quatre travailleurs différents dans un magasin :

#create data frame
data <- data.frame(name = c('Bob', 'Greg', 'Mike', 'Andy'), 
start = c(4, 7, 12, 16),
end = c(12, 11, 8, 22),
shift_type = c('early', 'mid_day', 'mid_day', 'late')
)
data

#  name start end shift_type
#1 Bob      4  12      early
#2 Greg     7  11    mid_day
#3 Mike    12   8    mid_day
#4 Andy    16  22       late

Afin de créer un diagramme de Gantt à l’aide de ggplot2 qui visualise les heures de début et de fin de chaque travailleur, nous pouvons utiliser le code suivant :

#install (if not already installed) and load ggplot2
if(!require(ggplot2)){install.packages('ggplot2')}

#create gantt chart that visualizes start and end time for each worker
ggplot(data, aes(x=start, xend=end, y=name, yend=name, color=shift_type)) +
  geom_segment()

Cela produit le diagramme de Gantt suivant :

Avec quelques ajustements à la mise en page, nous pouvons rendre ce diagramme de Gantt bien meilleur :

ggplot(data, aes(x=start, xend=end, y=name, yend=name, color=shift_type)) +
  theme_bw()+ #use ggplot theme with black gridlines and white background
  geom_segment(size=8) + #increase line width of segments in the chart
  labs(title='Worker Schedule', x='Time', y='Worker Name')

Cela produit le graphique suivant :

De plus, si vous souhaitez définir les couleurs exactes à utiliser dans le graphique, vous pouvez utiliser le code suivant :

ggplot(data, aes(x=start, xend=end, y=name, yend=name, color=shift_type)) +
  theme_bw()+ #use ggplot theme with black gridlines and white background
  geom_segment(size=8) + #increase line width of segments in the chart
  labs(title='Worker Schedule', x='Time', y='Worker Name') +
  scale_colour_manual(values = c('pink', 'purple', 'blue'))

Cela produit le graphique suivant avec les couleurs rose, violet et bleu pour représenter les différents types de quarts de travail :

Utiliser des thèmes personnalisés

Nous pouvons aller plus loin en utilisant des thèmes personnalisés de la bibliothèque ggthemes .

Par exemple, nous pouvons créer un diagramme de Gantt qui utilise un thème inspiré du Wall Street Journal :

#load ggthemes library
library(ggthemes)

#create scatterplot with Wall Street Journal theme
ggplot(data, aes(x=start, xend=end, y=name, yend=name, color=shift_type)) +
  theme_bw()+
  geom_segment(size=8) +
  labs(title='Worker Schedule', x='Time', y='Worker Name') +
  scale_colour_manual(values = c('pink', 'purple', 'blue')) +
  theme_wsj() + 
  theme(axis.title = element_text())

Ou nous pourrions utiliser un thème inspiré de The Economist :

ggplot(data, aes(x=start, xend=end, y=name, yend=name, color=shift_type)) +
  theme_bw()+
  geom_segment(size=8) +
  labs(title='Worker Schedule', x='Time', y='Worker Name') +
  scale_colour_manual(values = c('pink', 'purple', 'blue')) +
  theme_economist() + 
  theme(axis.title = element_text())

Ou peut-être un thème inspiré de Five Thirty Eight :

ggplot(data, aes(x=start, xend=end, y=name, yend=name, color=shift_type)) +
  theme_bw()+
  geom_segment(size=8) +
  labs(title='Worker Schedule', x='Time', y='Worker Name') +
  scale_colour_manual(values = c('pink', 'purple', 'blue')) +
  theme_fivethirtyeight() + 
  theme(axis.title = element_text())

Pour une liste complète des thèmes disponibles dans la bibliothèque ggthemes , consultez la page de documentation .

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *